获取时间戳
时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。
太遥远的日期也不行,UNIX和Windows只支持到2038年。
import time
print(time.time())
1608125848.8221698
时间元组
很多Python函数用一个元组装起来的9组数字处理时间. 一定是9组数字,缺一不可
# 获取当前时间的时间元组. tm_wday: 0-6, 0是周一, 2是周三 tm_isdst: 是否为夏令时
print(time.localtime())
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=16, tm_hour=21, tm_min=15, tm_sec=11, tm_wday=2, tm_yday=351, tm_isdst=0)
时间戳转日期字符串
# 时间戳转时间元组
time.localtime(time.time()+20)
time.localtime(time.time())
# 时间元组转日期字符串
# 格式化成2016-03-20 11:45:39形式
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(1608125848.8221698))
time.strftime("%Y-%m-%d %H:%M:%S", (2020, 3, 28, 22, 24, 24, 5, 88, -1))
日期字符串转时间戳
# 时间字符串解析为时间元组.
tupletime = time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')
# 时间元组转时间戳(1970纪元后经过的浮点秒数)
time.mktime(tupletime)
a = "Sat Mar 28 22:24:24 2016"
print (time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")))
time.localtime([secs])
返回当地时间的时间元组. 已将时区考虑在内,转出基于当前时区时间。
但注意,有些设备的系统,时区没有被设置好,转出来是0时区的。
time.gmtime([secs])
返回0时区的时间元组.
Python3 日期和时间 https://www.runoob.com/python3/python3-date-time.html
Python 将时间戳转换为指定格式日期 https://www.runoob.com/python3/python-timstamp-str.html
Linux中gmtime和localtime的区别 https://blog.csdn.net/sweetfather/article/details/81776358