如何将时间转换为时间

时间:2018-11-06 12:50:48

标签: python datetime time epoch

我有这样的时代1488445200000 我需要将其转换为datetime变量。我尝试过

from datetime import datetime
dt = datetime.fromtimestamp(1488445200000 // 3600)
dt

我知道了

datetime.datetime(1983, 2, 7, 10, 10)

但是结果似乎并不正确(正确的应该是2017年3月2日,格林尼治标准时间+01:00,上午)...我该怎么办?

如果我需要做什么,不仅要针对一个值1488445200000,而且要针对数据帧中的列。我必须循环吗?还是有矩阵运算?

2 个答案:

答案 0 :(得分:3)

您的时间戳以毫秒为单位,日期时间以秒为单位。除以1000即可得出结果:

$ python3 
Python 3.7.0 (default, Jun 29 2018, 20:13:13) 
[Clang 9.1.0 (clang-902.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from datetime import datetime
>>> dt = datetime.fromtimestamp(1488445200000 // 1000)
>>> dt
datetime.datetime(2017, 3, 2, 10, 0)

答案 1 :(得分:1)

尝试一下:

使用datetime模块:

from datetime import datetime
ts = int(1488445200000//1000)
print(datetime.utcfromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S'))