Python在任何地方打印相同的时间戳

2024-04-20 03:20:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到了一个以秒为单位的时间戳,我“继承”了一个函数以人类可读的形式打印它,但该函数是特定于语言环境的;也就是说,配置主机的时区很重要。不管我在哪个时区,我都想把时间打印成GMT。例如,以下是山区时间计算机上的序列(值315878400是“幻数”):

>>> import time
>>> secs = 1308512779
>>> tmp = secs + 315878400
>>> print(time.ctime(tmp))
Tue Jun 22 13:46:19 2021

这是太平洋时间的一台电脑:

>>> import time
>>> secs = 1308512779
>>> tmp = secs + 315878400
>>> print(time.ctime(tmp))
Tue Jun 22 12:46:19 2021

给定相同的时间(以秒为单位),我希望在任何地方运行相同的代码,并获得相同的字符串作为输出。由于我不控制秒数数据本身的来源,所以可以假设它是格林尼治标准时间。我在网上找到的所有信息都是关于如何获取我的本地时间,而这不是问题所在。任何帮助都将不胜感激


1条回答
网友
1楼 · 发布于 2024-04-20 03:20:29

听起来你在描述Unix time。Python使从Unix时间获取datetime对象变得非常容易

from datetime import datetime

def convert(timestamp):
    return datetime.utcfromtimestamp(timestamp)

print(convert(1308512779))
# prints: 2011-06-19 19:46:19

相关问题 更多 >