python中时间、日期、时间戳的相互转换

时间:2021-11-29 22:51:43
1. 简介
在编写代码时,往往涉及时间、日期、时间戳的相互转换。
2. 示例
# 引入模块
import time, datetime
2.1 str类型的日期转换为时间戳
tss1 = '2013-10-10 23:40:00'
tm = time.strptime(tss1, '%Y-%m-%d %H:%M:%S')
# 转为时间数组
timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S")
# timeArray可以调用tm_year等
print timeArray
# 转为时间戳
timeStamp = int(time.mktime(timeArray))
print timeStamp  # 1381419600
2.2 更改str类型日期的显示格式
tss2 = "2013-10-10 23:40:00"
# 转为数组
timeArray = time.strptime(tss2, "%Y-%m-%d %H:%M:%S")
# 转为其它格式
otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)
print otherStyleTime  # 2013/10/10 23:40:00

tss3 = "2013/10/10 23:40:00"
timeArray = time.strptime(tss3, "%Y/%m/%d %H:%M:%S")
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
print otherStyleTime  # 2013-10-10 23:40:00
2.3 时间戳转换为指定格式的日期
# 使用time
timeStamp = 1381419600
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray)
print otherStyleTime   # 2013--10--10 23:40:00
# 使用datetime
timeStamp = 1381419600
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
otherStyleTime = dateArray.strftime("%Y--%m--%d %H:%M:%S")
print otherStyleTime   # 2013--10--10 15:40:00
2.4 获取当前时间并且用指定格式显示
# 获取当前时间戳
now = int(time.time())
timeArray = time.localtime(now)
otherStyleTime = time.strftime("%Y--%m--%d %H:%M:%S", timeArray)
print otherStyleTime    # 2017--12--11 19:18:02
 
# 获取当前时间,数组格式
now = datetime.datetime.now()
otherStyleTime = now.strftime("%Y--%m--%d %H:%M:%S")
print otherStyleTime   # 2017--12--11 19:18:02
转自: 大神的博客