Python - 将包含时区(+0200)的时间戳转换为人类可读的

时间:2015-05-30 22:49:24

标签: python datetime datetime-format

我不能为我的生活弄清楚如何将1433140740000+0200表格上的时间戳转换为datetime对象或任何人类可读的表示。另外,具体是什么格式?我假设+0200代表一个时区。

我似乎只能找到有关没有时区的时间戳的问题,例如this answer,其中int("1433140740000+0200")会给我一个错误。任何帮助表示赞赏。谢谢!

编辑如评论中所述,进一步检查我从中获取这些值的API会显示其他时间戳,其中包含我认为代表时区的不同值。例如:315529200000+0100。整个数据行如下所示:"ArrivalTime": "/Date(1433051640000+0200)/",可以找到完整的回复here

第二次编辑:据我所知,时间戳是unix时间戳,但它们以毫秒为单位(因此尾随零),+0200表示时区UTC +02:00。所以现在,我只需修剪额外的零和时区,并在链接问题中进行转换,然后再手动添加时区。带有+0100的时间戳对我来说仍然是一个谜,但我发现它们始终是相同的日期,1/1/1980年中午12:00。它们还有一个不同的标识符:ActualTime,而不是ArrivalTime。无论如何,感谢帮助人员!

1 个答案:

答案 0 :(得分:1)

您可以使用字符串拆分删除时区

import datetime
intstring = int( ('1433140740000+0200').split('+')[0])

print(
datetime.datetime.fromtimestamp(intstring/1000).strftime('%Y-%m-%d %H:%M:%S')
)

我必须将其更改为此才能使其正常工作

intstring / 1000