Python3日期与时间戳转换的几种方法详解
本文详解Python3中日期与时间戳相互转换的多种实现方式。通过内置的datetime和time模块,演示如何获取当前时间并转换为时间戳,以及如何将字符串格式的时间解析为时间数组并生成时间戳。此外,还介绍了利用localtime()和utcfromtimestamp()将时间戳还原为标准日期格式的具体代码示例与结果分析。
Python3日期与时间戳转换概述
在Python3中,实现日期与时间戳的相互转换主要依赖内置的time和datetime模块。开发者可以根据实际需求选择合适的方法,无论是基于当前系统时间还是特定的字符串格式时间,都能完成精确转换。
获取当前时间并转换为时间戳
获取当前时间并转换为时间戳
利用datetime模块可以便捷地获取当前时刻的时间对象,随后通过time.mktime()方法将其转换为Unix时间戳。
import datetime
import time
# 获取当前时间
dtime = datetime.datetime.now()
un_time = time.mktime(dtime.timetuple())
print(un_time)
# 将unix时间戳转换为“当前时间”格式
times = datetime.datetime.fromtimestamp(un_time)
print(times)
转换结果如下所示:
1559568302.0 2019-06-03 21:25:02
字符串时间格式的时间戳转换
字符串时间格式的时间戳转换
除了处理当前时间,还可以直接将特定格式的字符串时间转换为对应的时间戳。
import datetime
import time
# 字符类型的时间
tss1 = '2019-06-03 21:19:03'
# 转为时间数组
timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S")
print(timeArray)
# timeArray可以调用tm_year等
print(timeArray.tm_year) # 2019
# 转为时间戳
timeStamp = int(time.mktime(timeArray))
print(timeStamp) # 1559567943
示例运行结果如下:
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=3, tm_hour=21, tm_min=19, tm_sec=3, tm_wday=0, tm_yday=154, tm_isdst=-1) 2019 1559567943
将时间戳转换为日期的其他方法
将时间戳转换为日期的其他方法
使用localtime函数
可以通过time.localtime()将时间戳转换为结构化时间数组,再使用strftime()格式化为所需的日期字符串。
import time
timeStamp = 1559567943
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
print(otherStyleTime)
示例输出结果:
2019-06-03 21:19:03
使用utcfromtimestamp函数
import time
import datetime
timeStamp = 1559567943
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
print(otherStyleTime)
总结
以上介绍了Python3中几种常用的日期与时间戳转换方法,希望能帮助读者解决相关问题。如有任何疑问,欢迎留言交流。感谢支持,若觉得内容有用,欢迎转载并注明出处。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













