Python:将本地化时间戳转换为UTC时间戳

时间:2018-07-28 22:14:24

标签: python utc localtime

外部设备在本地时区为我提供了titmestamp。 这意味着我将获得自1970年1月1日本地时间00:00:00以来的秒数。

我需要将其转换为UTC时间戳(或任何其他标准符号)以使用它来设置Linux时钟(例如:“ date -s @ ”)。 我当前的TZ是CEST(欧洲/罗马),但是可能会发生变化。

正确的方法是什么?

2 个答案:

答案 0 :(得分:0)

您可以在几秒钟内添加/计算当前时区和UTC之间的时差。

例如,如果您处于CEST,则为UTC + 2,因此您只需执行以下操作:

utc = timestamp + (-1 * 2 * 60 * 60)

一小时60分钟,一分钟60秒,2是因为我们距UTC 2个小时,而-1是因为我们领先于UTC。

答案 1 :(得分:0)

只需将您当地时区与UTC的时差应用于您获取的时间戳,最简单的方法就是使用time.altzone(如果您不想考虑DST,请改用time.timezone )并将其添加到您的时间戳记中,因此:

import time

timestamp = 1532821394  # current CEST timestamp
utc_timestamp = timestamp + time.altzone  # 1532814194, UTC+2 atm.