time模块介绍
time 模块用来格式化时间和日期
时间间隔是以秒为单位的浮点小数
每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。
time 模块下有很多函数可以转换常见日期格式
比如:
打印结果
时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。
struct_time元组
用一个元组装起来的9组数字处理时间
序号 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
字段 | 年 | 月 | 日 | 小时 | 分钟 | 秒 | 一周的第几日 | 一年的第几日 | 夏令时 |
属性 | tm_year | tm_mon | tm_mday | tm_hour | tm_min | tm_sec | tm_wday | tm_yday | tm_isdst |
值 | 2008 | 1-12 | 1-31 | 0-23 | 0-59 | 0-61(60 or 61 是闰秒) | 0-6(0是周一) | 1-366 | -1,0,1 -1是决定是否为夏令时的旗帜 |
获取现在时间
打印结果
从返回浮点数的时间戳方式向时间元组转换,只要将浮点数传递给如localtime之类的函数。
time模块内置函数
1.time.asctime([tupletime])
接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。
2.time.clock( )
用以浮点数计算的秒数返回当前的CPU时间。用来衡量不同程序的耗时,比time.time()更有用。
3.time.ctime([secs])
作用相当于asctime(localtime(secs)),未给参数相当于asctime()
4.time.gmtime([secs])
接收时间戳(1970纪元后经过的浮点秒数)并返回格林威治天文时间下的时间元组t。注:t.tm_isdst始终为0
5.time.localtime([secs])
接收时间戳(1970纪元后经过的浮点秒数)并返回当地时间下的时间元组t(t.tm_isdst可取0或1,取决于当地当时是不是夏令时)。
6.time.mktime(tupletime)
接受时间元组并返回时间戳(1970纪元后经过的浮点秒数)。
7.time.sleep(secs)
推迟调用线程的运行,secs指秒数。
8.time.strftime(fmt[,tupletime])
接收以时间元组,并返回以可读字符串表示的当地时间,格式由fmt决定
9.time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')
根据fmt的格式把一个时间字符串解析为时间元组。
10.time.time( )
返回当前时间的时间戳(1970纪元后经过的浮点秒数)
格式化日期
time.strftime(format[, t])
打印结果
日期格式化符号:
%y 两位数的年份(0-99)
%Y 四位数的年份(000-99999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H、%M、%S 小时、分钟、秒
%l 12小时制的小时数(0-12)
%a %b 本地简化的星期、月份名称
%A %B 本地完整的星期 、月份名称