当前位置: 移动技术网 > IT编程>脚本编程>Python > Python时间访问和转换库time,含时间戳和时间互转

Python时间访问和转换库time,含时间戳和时间互转

2020年07月16日  | 移动技术网IT编程  | 我要评论

术语

epoch:时间开始点 ,即1970年1月1日00:00:00。

import time

print(time.gmtime(0))  # epoch,时间开始点,1970年1月1日00:00:00
# time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)

seconds since the epoch:自纪元以来的秒数,自国际标准时间 1970年1月1日00:00:00 以来经过的总秒数,不包括闰秒。

import time

print(time.time())  # 1594792587.5603817

UTC:Universal Coordinated Time,协调世界时,世界标准时间,格林尼治标准时间,或GMT

GMT:同上,世界标准时间。




初试

time.strftime(format, p_tuple=None):格式化时间,format见具体格式,p_tuple传入 time.struct_time

import time

print(time.localtime())
print(time.strftime("%Y-%m-%d %H:%M:%S"))
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
# time.struct_time(tm_year=2020, tm_mon=7, tm_mday=15, tm_hour=14, tm_min=18, tm_sec=50, tm_wday=2, tm_yday=197, tm_isdst=0)
# 2020-07-15 14:18:50
# 2020-07-15 14:18:50




时间表示转换

使用
时间开始点 世界标准时间 gmtime()
时间开始点 本地时间 localtime()
世界标准时间 自纪元以来的秒数 calendar.timegm()
本地时间 自纪元以来的秒数 mktime()
import time
import calendar

print(time.gmtime())
print(time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime()))
# time.struct_time(tm_year=2020, tm_mon=7, tm_mday=15, tm_hour=6, tm_min=31, tm_sec=45, tm_wday=2, tm_yday=197, tm_isdst=0)
# 2020-07-15 06:31:45

print(time.localtime())
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
# time.struct_time(tm_year=2020, tm_mon=7, tm_mday=15, tm_hour=14, tm_min=31, tm_sec=45, tm_wday=2, tm_yday=197, tm_isdst=0)
# 2020-07-15 14:31:45

print(calendar.timegm(time.gmtime()))  # 时间元组的时间戳
# 1594794705
print(time.mktime(time.localtime()))  # localtime()的反函数
# 1594794705.0
print(time.time())
# 1594794705.428962




时间戳互转

时间戳世界标准时间本地时间

import time

timestamp = 1594440000
print(time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(timestamp)))  # 时间戳转世界标准时间
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp)))  # 时间戳转本地时间
# 2020-07-11 04:00:00
# 2020-07-11 12:00:00

世界标准时间本地时间时间戳

import time
import calendar

print(calendar.timegm(time.gmtime()))  # 世界标准时间转时间戳
print(calendar.timegm(time.localtime()))  # 本地时间转时间戳
# 1594411200
# 1594440000




JavaScript获取时间戳

console.log((new Date).getTime())

对应Python时间戳

import time
import execjs

print(str(time.time()).replace('.', ''))    # 1594800227044
print(execjs.eval("(new Date).getTime()"))  # 1594800227096

封装一下

import time


def timestamp() -> str:
    '''Python版本的时间戳,对应JavaScript的(new Date).getTime()'''
    return str(time.time()).replace('.', '')




睡眠

sleep(secs)

import time

for i in range(10):
    print(i)
    time.sleep(1)

间隔每秒输出
在这里插入图片描述




解析时间字符串

time.strptime(string, format):解析时间字符串,format见具体格式,返回 time.struct_time

import time

print(time.strptime("2020-07-11 12:00:00", "%Y-%m-%d %H:%M:%S"))
# time.struct_time(tm_year=2020, tm_mon=7, tm_mday=11, tm_hour=12, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=193, tm_isdst=-1)




参考文献

  1. time — 时间的访问和转换
  2. calendar.timegm()
  3. Python调用PyExecJS库运行JavaScript

本文地址:https://blog.csdn.net/lly1122334/article/details/107359069

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网