python进阶之time模块详解
Time模块包含的函数
Time模块包含了一下内置的函数,既有时间处理的,也有转换时间格式的:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 序号 函数及描述 1 time.altzone 返回格林威治西部的夏令时地区的偏移秒数。如果该地区在格林威治东部会返回负值(如西欧,包括英国)。对夏令时启用地区才能使用。 2 time.asctime([tupletime]) 接受时间元组并返回一个可读的形式为 "Tue Dec 11 18:07:14 2008" ( 2008 年 12 月 11 日 周二 18 时 07 分 14 秒)的 24 个字符的字符串。 3 time.clock( ) 用以浮点数计算的秒数返回当前的CPU时间。用来衡量不同程序的耗时,比time.time()更有用。 4 time.ctime([secs]) 作用相当于asctime(localtime(secs)),未给参数相当于asctime() 5 time.gmtime([secs]) 接收时间戳( 1970 纪元后经过的浮点秒数)并返回格林威治天文时间下的时间元组t。注:t.tm_isdst始终为 0 6 time.localtime([secs]) 接收时间戳( 1970 纪元后经过的浮点秒数)并返回当地时间下的时间元组t(t.tm_isdst可取 0 或 1 ,取决于当地当时是不是夏令时)。 7 time.mktime(tupletime) 接受时间元组并返回时间戳( 1970 纪元后经过的浮点秒数)。 8 time.sleep(secs) 推迟调用线程的运行,secs指秒数。 9 time.strftime(fmt[,tupletime]) 接收以时间元组,并返回以可读字符串表示的当地时间,格式由fmt决定。 10 time.strptime( str ,fmt = '%a %b %d %H:%M:%S %Y' ) 根据fmt的格式把一个时间字符串解析为时间元组。 11 time.time( ) 返回当前时间的时间戳( 1970 纪元后经过的浮点秒数)。 12 time.tzset() 根据环境变量TZ重新初始化时间相关设置。 |
下面我们分别解释每一个函数的用法
altzone()
参数:无
返回值:返回格林威治西部的夏令时地区的偏移描述。如果该地区在格林威治东部会返回负值(如西欧,包括美国)
语法:
>>> time.altzone
-32400
>>>
asctime()
参数:9个元素的元祖或者通过函数gmtime()或localtime()返回的时间值
返回值:返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2018年10月11日 周二18时07分14秒)的24个字符的字符串。
语法:
1 2 3 4 | >>> time.asctime() 'Tue Oct 23 16:27:39 2018' >>> time.asctime(time.localtime()) 'Tue Oct 23 16:28:08 2018' |
clock()
参数:无
返回值:
该函数有两个功能,
在第一次调用的时候,返回的是程序运行的实际时间;
以第二次之后的调用,返回的是自第一次调用后,到这次调用的时间间隔
语法:
1 2 3 4 | print (time.clock()) for i in range ( 1 , 100 ): print (i) print (time.clock()) |
输出结果:
1 2 | 0.0 6.6986723828671e - 05 |
ctime()
参数: 要转换为字符串时间的秒数
返回值:无
语法:
1 2 3 4 | >>> time.ctime() 'Tue Oct 23 16:38:18 2018' >>> time.ctime( 1024 ) 'Thu Jan 1 08:17:04 1970' |
gmtime()
参数:转换为time.stryct_time类型的对面的秒数
返回值:无
语法:
1 2 3 4 5 6 7 | >>> time.gmtime() time.struct_time(tm_year = 2018 , tm_mon = 10 , tm_mday = 23 , tm_hour = 8 , tm_min = 41 , tm_sec = 2 , tm_wday = 1 , tm_yday = 296 , tm_isdst = 0 ) >>> time.gmtime( 45 ) time.struct_time(tm_year = 1970 , tm_mon = 1 , tm_mday = 1 , tm_hour = 0 , tm_min = 0 , tm_sec = 45 , tm_wday = 3 , tm_yday = 1 , tm_isdst = 0 ) >>> time.gmtime( 2 ) time.struct_time(tm_year = 1970 , tm_mon = 1 , tm_mday = 1 , tm_hour = 0 , tm_min = 0 , tm_sec = 2 , tm_wday = 3 , tm_yday = 1 , tm_isdst = 0 ) >>> |
locatime()
参数:转换为time.struct_time类型的对面的秒数
返回值:无
语法:
1 2 | >>> time.localtime() time.struct_time(tm_year = 2018 , tm_mon = 10 , tm_mday = 23 , tm_hour = 16 , tm_min = 44 , tm_sec = 6 , tm_wday = 1 , tm_yday = 296 , tm_isdst = 0 ) |
sleep()
参数:推迟执行的秒数
返回值:无
语法:
1 2 3 | print (time.ctime()) time.sleep( 5 ) print (time.ctime()) |
输出结果:
1 2 | Tue Oct 23 16 : 49 : 45 2018 Tue Oct 23 16 : 49 : 50 2018 |
strftime(format[, t ])
参数:format - 格式字符串 t - 可选的参数t是一个struct_time对象
返回值:可读字符串标识的当地时间
说明:
python 中时间日期格式化符号
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | % y 两位数的年份表示( 00 - 99 ) % Y 四位数的年份表示( 000 - 9999 ) % m 月份( 01 - 12 ) % d 月内中的一天( 0 - 31 ) % H 24 小时制小时数( 0 - 23 ) % I 12 小时制小时数( 01 - 12 ) % M 分钟数( 00 = 59 ) % S 秒( 00 - 59 ) % a 本地简化星期名称 % A 本地完整星期名称 % b 本地简化的月份名称 % B 本地完整的月份名称 % c 本地相应的日期表示和时间表示 % j 年内的一天( 001 - 366 ) % p 本地A.M.或P.M.的等价符 % U 一年中的星期数( 00 - 53 )星期天为星期的开始 % w 星期( 0 - 6 ),星期天为星期的开始 % W 一年中的星期数( 00 - 53 )星期一为星期的开始 % x 本地相应的日期表示 % X 本地相应的时间表示 % Z 当前时区的名称 % % % 号本身 |
语法:
1 2 | >>> time.strftime( "%Y %m %d %H:%M:%S" ) '2018 10 23 16:57:02' |
time()
参数:无
返回值:返回当前时间的时间戳(1970纪元后经过的浮点秒数)
1 2 | print ( "time.time(): %f " % time.time()) print (time.asctime( time.localtime(time.time()) )) |
输出结果:
1 2 | time.time(): 1540285177.428731 Tue Oct 23 16 : 59 : 37 2018 |
时间元祖:
索引值(index) 属性(Attribute) 值(Values) 0 tm_year(年) (例如: 2015 ) 1 tm_mon(月) 1 - 12 2 tm_mday(日) 1 - 31 3 tm_hour(时) 0 - 23 4 tm_min(分) 0 - 59 5 tm_sec(秒) 0 - 61 ( 60 代表闰秒, 61 是基于历史原因保留) 6 tm_wday(星期几) 0 - 6 ( 0 表示星期一) 7 tm_yday(一年中的第几天) 1 - 366 8 tm_isdst(是否为夏令时) 0 , 1 , - 1 ( - 1 代表夏令时) |
时间转换图解
----------------------------真正的勇士, 敢于直面惨淡的Warning、 敢于正视淋漓的Error--------------------------
版权声明
出处: 博客园Linux超的技术博客--https://www.cnblogs.com/linuxchao/
您的支持是对博主最大的鼓励,感谢您的认真阅读
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明, 且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
作者: Linux超
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步