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

Python - Convert timestamp including timezone (+0200) to humanly readable

我一辈子都想不出如何将表单 1433140740000+0200 上的时间戳转换为 datetime 对象或任何人类可读的表示形式。另外,这个具体是什么格式?我假设 +0200 代表一个时区。

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

编辑: 如评论中所述,对我从中获取这些值的 API 的进一步检查揭示了我认为具有不同值的其他时间戳代表时区。例如:315529200000+0100。整行数据是这样的:"ArrivalTime": "/Date(1433051640000+0200)/",完整的回复可以在here.

第二次编辑: 据我所知,时间戳是 unix 时间戳,但它们以毫秒为单位给出(因此尾随零),+0200表示时区UTC+02:00。所以现在,我将 trim 去掉额外的零和时区,并按照链接问题中所示进行转换,然后再手动添加时区。 +0100 的时间戳对我来说仍然是个谜,但我发现它们总是相同的日期,1/1/1980 12:00am。它们还有一个不同的标识符:ActualTime,与其他标识符相对应的 ArrivalTime。无论如何,谢谢你们的帮助!

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

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

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

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

整数字符串/1000