time模块提供了一系列时间相关的方法,此外,同样提供时间相关的模块还有datetime和calendar。
注:时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数
下面列举time中常用的一些方法
- time.asctime([t])
asctime()将一个tuple或者gmtime()返回的时间转换成“Mon Jun 11 05:10:28 2018”格式
>>> print(time.asctime(time.gmtime()))
Mon Jun 11 05:10:28 2018
- time.gmtime([secs])
将时间戳转换成struct_time格式的世界标准时间(UTC),如果不传参数则默认为当前时间(UTC)
>>> print(time.gmtime(2345554657))
time.struct_time(tm_year=2044, tm_mon=4, tm_mday=29, tm_hour=14, tm_min=57, tm_sec=37, tm_wday=4, tm_yday=120, tm_isdst=0)
>>> print(time.gmtime())
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=11, tm_hour=5, tm_min=46, tm_sec=52, tm_wday=0, tm_yday=162, tm_isdst=0)
- time.localtime()
同time.gmtime(),不过返回的是本地时间
>>> print(time.localtime(), time.gmtime())
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=11, tm_hour=14, tm_min=0, tm_sec=47, tm_wday=0, tm_yday=162, tm_isdst=0) time.struct_time(tm_year=2018, tm_mon=6, tm_mday=11, tm_hour=6, tm_min=0, tm_sec=47, tm_wday=0, tm_yday=162, tm_isdst=0)
- time.ctime([secs])
将时间戳转换成“Mon Jun 11 13:18:19 2018”格式,如果不传参数则默认为当前的本地时间
>>> print(time.ctime())
Mon Jun 11 13:18:19 2018
>>> print(time.ctime(2345554657))
Fri Apr 29 22:57:37 2044
- time.time()
返回当前时间的时间戳
>>> time.localtime(time.time())
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=11, tm_hour=14, tm_min=6, tm_sec=24, tm_wday=0, tm_yday=162, tm_isdst=0)
>>> time.gmtime(time.time())
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=11, tm_hour=6, tm_min=6, tm_sec=32, tm_wday=0, tm_yday=162, tm_isdst=0)
- time.mktime(t)
与localtime()相反,mktime()是将struct_time格式或9-tuple的时间转化成时间戳。可作为time.time()的辅助。但是mktime()必须传入t参数。
>>> time.mktime(time.gmtime())
1528668787.0
- time.sleep(secs)
延迟执行被调用线程
- time.strftime(format[, t])
将代表时间的元组或struct_time转化为指定格式的字符串。如果不提供t参数,则使用当前本地时间(由localtime()返回)。格式指令参照官网
>>> strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())
'Mon, 11 Jun 2018 06:53:37 +0000'