【原创】用python将时间unix格式转换总结

时间:2021-08-20 22:13:01

我们可以用python里面的time模块mktime方法将转为unix时间戳,mktime函数只能接受相应时间的元祖序列。在此之前需要先将输入的时间转为元组序列:

如果输入的时间为指定格式的,则可以用strptime() 函数根据指定的格式把一个时间字符串解析为时间元组,

time.strptime(string[, format])

 例如:time.strptime('2017-11-18 13:37:09', '%Y-%m-%d %H:%M:%S')

 

如果输入的时间为datetime.datetime(2017, 9, 14, 15, 23, 41)格式的话,则可以用timetuple()方法将其转为时间元组。

dtime = datetime.datetime.now()
dtime.timetuple()

 在转为时间元组序列之后则可以再用mktime函数将其转换:time.mktime(timetuple)

例如:

str类型的日期转换为时间戳

# 字符类型的时间
tss1 = '2013-10-10 23:40:00'
# 转为时间数组
timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S")
print timeArray     
# timeArray可以调用tm_year等
print timeArray.tm_year   # 2013
# 转为时间戳
timeStamp = int(time.mktime(timeArray))
print timeStamp  # 1381419600

时间戳转换为指定格式的日期

# 使用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