Python时间模块time用法详解:格式化、转换与延迟执行
本文详细介绍Python中time模块的核心用法,涵盖获取当前时间、格式化输出及时间戳转换。通过具体代码示例演示如何生成可读时间字符串,并将格式字符串解析为时间戳。此外,还展示了利用time.sleep实现延迟执行及定时任务调用的逻辑,帮助开发者掌握时间处理技巧。
本文通过具体实例介绍Python中格式化日期与时间的方法,供读者参考学习。
在Python中,处理时间常用以下函数:
获取当前系统时间:time.time()
获取以元组形式表示的时间戳:time.local(time.time())
用于格式化日期的函数(基于元组形式进行格式化):
(1)time.asctime(time.local(time.time()))
(2)time.strftime(format[,t])
将格式化的字符串转换为时间戳:
time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')
实现程序延迟执行:time.sleep([secs]),参数单位为秒
示例1:
# -*- coding:utf-8 -*-
import time
#当前时间
print time.time()
#时间戳形式
print time.localtime(time.time())
#简单可读形式
print time.asctime( time.localtime(time.time()) )
# 格式化成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"))
运行结果如下:
1481036968.19 time.struct_time(tm_year=2016, tm_mon=12, tm_mday=6, tm_hour=23, tm_min=9, tm_sec=28, tm_wday=1, tm_yday=341, tm_isdst=0) Tue Dec 06 23:09:28 2016 2016-12-06 23:09:28 Tue Dec 06 23:09:28 2016 1459175064.0
示例2:比较指定时间与当前时间,若指定时间大于当前时间则执行特定脚本,否则等待半小时后重新判断。
# -*- coding:utf-8 -*-
import time
import sys
import os
#判断当前时间是否超过某个输入的时间
def Fuctime(s):
if time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))>s:
return True
else:
return False
while(1):
if Fuctime('2016-12-05 00:00:00'):
#调用某个路径下的脚本的简便方法
os.system("python ./../day_2/Prime.py ./../day_2/inti_prime.txt ./../day_2/res_prime.txt")
break
else:
time.sleep(1800)
continue
此外,推荐以下日期与天数计算在线工具供使用:
在线日期/天数计算器: http://tools.jb51.net/jisuanqi/date_jisuanqi
在线万年历日历: http://tools.jb51.net/bianmin/wannianli
在线阴历/阳历转换工具: http://tools.jb51.net/bianmin/yinli2yangli
Unix时间戳(timestamp)转换工具: http://tools.jb51.net/code/unixtime
如需了解更多Python相关知识,可查阅本站专题:《Python日期与时间操作技巧总结》、《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望上述内容对您的Python编程有所帮助。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













