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



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

我似乎只能找到关于没有时区的时间戳的问题,例如这个答案,其中int("1433140740000+0200")会给我一个错误。任何帮助都是感激的。谢谢!

Edit:正如在评论中提到的,对从中获取这些值的API的进一步检查揭示了其他具有不同值的时间戳,我认为这些值表示时区。例如:315529200000+0100。整行数据看起来像这样:"ArrivalTime": "/Date(1433051640000+0200)/",完整的响应可以在这里找到。

第二次编辑:据我所知,时间戳是unix时间戳,但它们以毫秒为单位(因此后面有零),+0200表示时区UTC+02:00。因此,现在,我将删除多余的零和时区,并按照链接问题所示进行转换,然后再手动添加时区。+0100的时间戳对我来说仍然是个谜,但我发现它们总是同一个日期,1980年1月1日中午12点。它们也有不同的标识符:ActualTime,而不是其他的ArrivalTime。不管怎样,谢谢你们的帮助!

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

import datetime
intstring = int( ('1433140740000+0200').split('+')[0])
print(
datetime.datetime.fromtimestamp(intstring/1000).strftime('%Y-%m-%d %H:%M:%S')
)

我必须把它改成这个才能正常工作

intstring/1000

相关内容

  • 没有找到相关文章

最新更新