一、time模块
先介绍一下要用到的几种时间表示方法。
(1)时间戳:指的是从unix元年到现在过了多少秒,如下图运行结果的第
(2)时间元组:下图中,最后2行的命令,输出的就是时间元组格式。
(3)自己格式化好的时间,也就是下图运行结果的第二条,可以自己定义时间的显示格式。
常用的如下:
时间戳和格式化好的时间相互转换,需要一个桥梁,就是时间元组。
例1:把时间戳转化成格式化好的时间,显示的格式为:年-月-日 时:分:秒。
分析:第一步应该把时间戳转化为时间元组,也就是使用time.localtime()。第二步,把时间元组转化为格式化好的时间,也就是使用time.strftime()
import time def timestamp_to_format(timestamp = None,format = '%Y-%m-%d %H:%M:%S'): # 1、默认返回当前格式化好的时间 # 2、转入时间戳的话,把时间戳转化为格式化好的时间,返回 if timestamp: time_tuple = time.localtime(timestamp) res = time.strftime(format,time_tuple) else: res = time.strftime(format)#默认取当前时间 return res result = timestamp_to_format() print(result)
例2:把格式化好的时间转化为时间戳。
分析:先把格式化好的时间转化为时间元组,再把时间元组转化为时间戳。
import time def strToTimestamp(str=None,format='%Y%m%d%H%M%S'): if str: #如果传了时间的话 tp = time.strptime(str,format) #格式化好的时间,转成时间元组 res = time.mktime(tp)#再转成时间戳 else: res = time.time() #默认取当前的时间戳 return int(res) result = strToTimestamp(str= '2018-5-3 19:47:32',format='%Y-%m-%d %H:%M:%S') print(result)
二、datetime模块
运行结果为:
其中,datetime.timedelta()括号里可选的有weeks,days,minutes,seconds,如: