一、常用时间模块time
时间戳概念:时间戳是指距离unix系统发明的时间有多少秒
注意:因为时间计算上会出现跨年、跨月、跨日、闰年、闰月等复杂性,引入时间戳便于日期的计算
import time
print(time.time())#获取当前时间戳
print(time.strftime('%Y-%m-%d %H:%M:%S'))#格式化输出当前时间
#时间元组
print(time.localtime(1589881165))#查看时间戳的时间元组
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(1589881165)))#将时间元组转换格式化输出
#将时间元组转换为时间戳
result = time.strptime('2020-05-19 17:42:17','%Y-%m-%d %H:%M:%S')#将格式化的时间转换为时间元组
print(result)
print(time.mktime(result))#将时间元组转换为时间戳
返回结果:
1589883473.562205
2020-05-19 18:17:53
time.struct_time(tm_year=2020, tm_mon=5, tm_mday=19, tm_hour=17, tm_min=39, tm_sec=25, tm_wday=1, tm_yday=140, tm_isdst=0)
2020-05-19 17:39:25
time.struct_time(tm_year=2020, tm_mon=5, tm_mday=19, tm_hour=17, tm_min=42, tm_sec=17, tm_wday=1, tm_yday=140, tm_isdst=-1)
1589881337.0
二、定义时间戳和格式化时间相互转换方法
def str_to_timezone(str=None,format='%Y-%m-%d %H:%M:%S'):#将格式化后的时间转换为时间戳
if str:
time_tuple = time.strptime(str,format)#将格式化的时间转换为时间元组
result = time.mktime(time_tuple)#将时间元组转换为时间戳
else:
result = time.time() #获取当前时间戳
return result
def timezone_to_str(timezone=None,format='%Y-%m-%d %H:%M:%S'):#将时间戳转换为格式化后的时间
if timezone:
time_tuple = time.localtime(timezone)
result = time.strftime(format,time_tuple)
else:
result = time.strftime(format)
return result
print(str_to_timezone())
print('*'*10)
print(timezone_to_str())
输入结果为:
1589883915.2785792
**********
2020-05-19 18:25:15