timetime模块提供各种时间相关的功能,与时间相关的模块有:time,datetime,calendar等。
时间有三种表示方式,一种是时间戳、一种是格式化时间、一种是时间元组。时间戳和格式化时间的相互转化,都需要先转化为时间元祖。
时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。太遥远的日期也不行,UNIX和Windows只支持到2038年。
1 import time 2 time.sleep(30) #等待30秒 3 print(time.time()) #获取当前时间戳 4 5 res=time.strftime('%y-%m-%d %X') #获取当前年月日时分秒 6 res2=time.strftime('%X') #获取当前时间 7 res3=time.strftime('%H:%M:%S') #获取当前时间 8 print(res) #19-05-07 16:55:58 9 print(res2) #16:55:58 10 print(res3) #16:55:58
时间戳转成格式化好的时间
1 # time_tuple=time.gmtime(1556088065) #时间戳转成时间元祖(取的是标准时区的时间差8小时) 2 time_tuple=time.localtime(1556088065) #时间戳转成时间元祖(取的是当地时区的时间) 3 result=time.strftime('%y-%m-%d %X',time_tuple) 4 print(result)
格式化好的时间转成时间戳
1 time_tuple2=time.strptime('19-04-24 14:41:05','%y-%m-%d %X') 2 # 上面是把格式化好的时间转成时间元祖(前后两个元素必须格式一致) 3 result=time.mktime(time_tuple2) #把时间元组转换成时间戳 4 print(result)
封装函数格式化好的时间转时间戳
1 def str_to_timestamp(str_time=None,format='%y-%m-%d %X'): 2 if str_time: 3 time_tuple=time.strptime(str_time,format)#把格式化好的时间转成时间戳 4 result=time.mktime(time_tuple)#把时间元组转成时间戳 5 return int(result) 6 return int(time.time()) #获取当前的时间戳 7 print(str_to_timestamp())
封装函数 时间戳转换成格式化好的时间,如果没有传时间戳,就取当前的格式化时间
1 def timestamp_to_str(timestamp=None,format='%y-%m-%d %X'): 2 if timestamp: 3 time_tuple=time.localtime(timestamp)#把时间戳转换成时间元祖 4 result=time.strftime(format,time_tuple)#把时间元祖转成格式化好的时间 5 return result 6 else: 7 return time.strftime(format) 8 print(timestamp_to_str())