一个外部设备为我提供了一个本地化时区的标题戳。这意味着我得到了自1970年1月1日本地时间00:00:00以来的秒数。
我需要将其转换为UTC时间戳(或任何其他标准符号),以便使用它来设置Linux时钟(例如:"date -s @< timestamp >")。我目前的TZ是CEST (欧洲/罗马),但这种情况可能会改变。
这样做的正确方法是什么?
发布于 2018-07-29 07:44:12
只需对检索到的时间戳应用本地时区与协调世界时的时差-最简单的方法是使用time.altzone
(如果您不想考虑DST,请使用time.timezone
)并将其添加到您的时间戳中,因此:
import time
timestamp = 1532821394 # current CEST timestamp
utc_timestamp = timestamp + time.altzone # 1532814194, UTC+2 atm.
发布于 2018-07-29 07:32:46
您可以添加当前时区与UTC之间的差值(以秒为单位)。
例如,如果您在CEST,则这是UTC+2,因此您可以简单地执行以下操作:
utc = timestamp + (-1 * 2 * 60 * 60)
一小时内60分钟,马上60秒,2因为我们离UTC还有2小时,-1因为我们领先于UTC。
https://stackoverflow.com/questions/51575657
复制相似问题