Python的time模块: 以元组(struct_time)为核心实现时间戳和格式化时间字符串的相互转换
1.将时间戳转换为格式化字符串
① time.time() # 返回当前时间的时间戳(1970纪元后经过的浮点秒数)。
>>> import time
>>> time.time()
1561153481.034530
② time.localtime([ sec ]) # 接收时间戳(1970纪元后经过的浮点秒数),并返回当地时间下的时间元组 , 当 可选 [ sec ] 参数未输入,则以当前时间为转换标准 。
>>> time.localtime(time.time())
time.struct_time(tm_year=2020, tm_mon=8, tm_mday=20, tm_hour=13, tm_min=2, tm_sec=1, tm_wday=1, tm_yday=25, tm_isdst=0)
③ time.strftime(fmt [,tupletime]) # 接收以时间元组,并返回以可读字符串表示的当地时间 ( 格式由fmt决定 )
>>> time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
'2020-08-20 13:04:41'
2.将格式化字符串转换为 时间戳
① time.strptime(str, fmt=’%a %b %d %H:%M:%S %Y’) 根据fmt的格式把一个时间字符串解析为时间元组。 ( fmt 格式可以根据实际情况设置)
>>> date_time = '2020-08-20 13:04:41'
>>> time.strptime(date_time, '%Y-%m-%d %H:%M:%S')
time.struct_time(tm_year=2020, tm_mon=8, tm_mday=20, tm_hour=13, tm_min=2, tm_sec=1, tm_wday=1, tm_yday=25, tm_isdst=0)
② time.mktime(tupletime) # 接受时间元组并返回时间戳(1970纪元后经过的浮点秒数)。
>>> date_time = '2020-08-20 13:04:41'
>>> tuple_time = time.strptime(date_time, '%Y-%m-%d %H:%M:%S')
>>> time.mktime(tuple_time)
1597899881.0