常用的时间函数如下
获取当前日期:time.time()
获取元组形式的时间戳:time.local(time.time())
格式化日期的函数(基于元组的形式进行格式化):
(1)time.asctime(time.local(time.time()))
importtime#最简单的获取可读的时间模式的函数是asctime():
localtime =time.asctime( time.localtime(time.time()) )print ("本地时间为 :", localtime)#本地时间为 : Thu Apr 7 10:29:13 2016
(2)time.strftime(format[,t]) 格式化日期
#---strftime 方法来格式化日期
importtime#格式化成2016-03-20 11:45:39形式
print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))#格式化成Sat Mar 28 22:24:24 2016形式
print (time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()))#将格式字符串转换为时间戳
a = "Sat Mar 28 22:24:24 2016"
print (time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")))
'''
2016-04-0710:29:46ThuApr0710:29:4620161459175064.0
'''
(3)time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')
根据fmt的格式把一个时间字符串解析为时间元组
importtime
struct_time= time.strptime("30 Nov 00", "%d %b %y")print ("返回元组:", struct_time)#返回元组: time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)
将格式字符串转换为时间戳:
time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')
(4)time.mktime(tupletime)
接受时间元组并返回时间辍(1970纪元后经过的浮点秒数)
#将格式字符串转换为时间戳
a = "Sat Mar 28 22:24:24 2016"
print(time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")))#1459175064.0
延迟执行:time.sleep([secs]),单位为秒
例一:
importtimeprint(time.time())#当前时间
#1525245495.8187146
print(time.localtime())print(time.localtime(time.time()))#与上一句等价
#简单可读形式
#time.struct_time(tm_year=2018, tm_mon=5, tm_mday=2, tm_hour=15, tm_min=18, tm_sec=15, tm_wday=2, tm_yday=122, tm_isdst=0)
print(time.asctime( time.localtime(time.time())))#格式化成 Wed May 2 15:18:15 2018形式#Wed May 2 15:18:15 2018
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))#格式化成2018-05-02 15:18:15形式
print(time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()))#Wed May 02 15:18:15 2018
a= "Sat Mar 28 22:24:24 2016"
print(time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")))
例子二,计算时间间隔:
defcalc_time(timeStr):#timeStr = '2017-3-7 23:59:00' 时间格式
timeArray = time.strptime(timeStr, "%Y-%m-%d %H:%M:%S")#strptime 方法可以将一个时间字符串转成 struct_time
timestamp =time.mktime(timeArray)#用 mktime 转成 时间戳
return int(timestamp-time.time())
未完待续......