如何用Python将时间戳转换为日期时间?

-1 投票
1 回答
2274 浏览
提问于 2025-04-18 09:55

示例:

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'

撰写回答