时间的表示形式:
- 时间戳timestamp:表示从1970.1.1开始计算偏移量。值是float类型
- 格式化的时间字符串format string:'2018-06-14'
- 结构化时间struct_time:元祖共有九个元素
内置常用方法:
asctime()
In [236]: time.asctime() Out[236]: 'Thu Jun 14 14:10:19 2018' In [237]: len(time.asctime()) Out[237]: 24 #返回一个可读的形式。24个字符串
ctime()
In [242]: a=time.time() In [243]: a Out[243]: 1528956888.982987 In [244]: time.ctime(a) Out[244]: 'Thu Jun 14 14:14:48 2018' #参数为一个时间戳,后转化为asctime()形式。没参数或none默认为time.time
gmtime()
In [245]: time.gmtime() Out[245]: time.struct_time(tm_year=2018, tm_mon=6, tm_mday=14, tm_hour=6, tm_min=18, tm_sec=13, tm_wday=3, tm_yday=165, tm_isdst=0) #返回格林威治时间的时间元祖。
In [249]: time.gmtime()[0]
Out[249]: 2018
localtime()
In [251]: time.localtime() Out[251]: time.struct_time(tm_year=2018, tm_mon=6, tm_mday=14, tm_hour=14, tm_min=21, tm_sec=16, tm_wday=3, tm_yday=165, tm_isdst=0) #返回本地时间。 #可接受时间戳 In [252]: time.localtime(a) Out[252]: time.struct_time(tm_year=2018, tm_mon=6, tm_mday=14, tm_hour=14, tm_min=14, tm_sec=48, tm_wday=3, tm_yday=165, tm_isdst=0)
mktime()
#接受时间元祖,返回1970后的浮点秒数。 In [257]: time.time() Out[257]: 1528957369.0675557 In [258]: time.mktime(time.localtime()) Out[258]: 1528957386.0
sleep()
推迟调用线程和进程的运行,secs的单位是秒
time.sleep(520)
strftime()
In [269]: time.strftime('%Y-%m-%d') Out[269]: '2018-06-14' In [272]: time.strftime('%Y-%m-%d %H:%M:%S' ) Out[272]: '2018-06-14 14:30:07' #把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串
#strptime()逆操作
struct_time()
In [275]: time.struct_time(time.localtime())
Out[275]: time.struct_time(tm_year=2018, tm_mon=6, tm_mday=14, tm_hour=14, tm_min=34, tm_sec=44, tm_wday=3, tm_yday=165, tm_isdst=0)