如何用Python将时间戳转换为日期时间?
示例:
import time
timeStamp = 1381419600
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
otherStyletime == "2013-10-10 23:40:00"
但是我的时间戳是1399266718207,出现了值错误,提示时间戳超出了平台的时间范围。请告诉我我该怎么办?要改变日期的大小吗?
1 个回答
2
1399266718207
是一个以 毫秒 为单位的时间戳,而不是 秒。你需要把它除以 1000:
>>> import time
>>> timeStamp = 1399266718207
>>> time.localtime(timeStamp / 1000.0)
time.struct_time(tm_year=2014, tm_mon=5, tm_mday=5, tm_hour=6, tm_min=11, tm_sec=58, tm_wday=0, tm_yday=125, tm_isdst=1)
>>> time.strftime("%Y-%m-%d %H:%M:%S", _)
'2014-05-05 06:11:58'
datetime
模块可以保留毫秒的精度:
>>> import datetime
>>> datetime.datetime.fromtimestamp(timeStamp / 1000.0)
datetime.datetime(2014, 5, 5, 6, 11, 58, 207000)
>>> _.isoformat(' ')
'2014-05-05 06:11:58.207000'