Python中获取UTC时间戳

2025年1月5日 | 阅读 4 分钟

引言

在编程世界中,时间戳用于跟踪和记录与时间相关的信息。在处理时间敏感数据时,确保不同世界时间的一致性和准确性非常重要。实现这一目标的一种相当常见的方法是所谓的协调世界时 (UTC)。在本详细指南中,我们将探讨在 Python 中获取 UTC 时间戳的各种方法。

了解 UTC 和时间戳

UTC (协调世界时) 是世界调节时钟和时间的主要时间标准。与可能因您所在位置以及是否适用夏令时而异的本地时间不同,UTC 提供了一个标准化的参考。相反,时间戳被确定为某个时刻,通常以自纪元以来的秒数或毫秒数表示。

Python 的 datetime 模块

处理日期和时间 Python 标准库中的 datetime 模块是一个非常有用的工具。因此,创建“datetime”对象来表示当前的 UTC 时间是获取 UTC 时间戳的第一步。下面是一个基本示例:

输出

UTC Timestamp: 1703342552.6935

它使用 Python 的“datetime”模块获取当前的 UTC 时间,然后将其转换为时间戳。“datetime.now(timezone.utc)”函数用于获取当前的 UTC 时间,“timestamp()”方法用于提取时间戳。结果是以数值表示的自纪元以来的秒数。

处理时区

上述方法在获取 UTC 时间戳方面非常有效,但在处理 datetime 对象时,请务必注意时区。Pytz 是 Python 中一个流行的时区库

输出

UTC Timestamp: 1640277602.123456

此处使用“pytz”库明确指定 UTC 时区。通过设置时区,从“datetime.now”得到的时间戳将成为协调世界时。结果是一个表示 UTC 时间戳的数值。

格式化 UTC 时间戳

原始时间戳对于许多应用程序来说已经足够了,但在其他情况下,更易读的日期和时间格式更受欢迎。可以使用 Python datetime 对象的 strftime 方法根据给定的格式字符串对其进行格式化。

输出

Formatted UTC Time: 2022-12-23 14:06:42 UTC

此代码在此处使用“strftime”方法将 UTC 时间戳转换为人类可读的格式。格式字符串“%Y-%m-%d %H:%M:%S %Z”——年 月 日 时 (24 小时制) 分 秒和时区缩写。结果是 UTC 时间的格式化字符串。

处理字符串中的时间戳

然而,在现实情况下,您可能会遇到以字符串形式存储并需要转换为 datetime 对象的时间戳。为此,Python 提供了 strptime 方法。

输出

Converted UTC Timestamp: 1641062400.0

以下代码显示了如何将“timestamp”字符串转换为 UTC 时间戳。“strptime”方法将此字符串转换为 datetime 对象。使用“replace”,附加 UTC 时区并提取时间戳。最终结果是表示转换后的 UTC 时间戳的数字。

处理 Pandas 中的时间戳

在处理时间戳时,'pandas' 库为数据分析和操作提供了坚实的基础。“to_datetime”函数使转换过程更加容易。

输出

Pandas UTC Timestamp: 1641062400.0

此代码使用“pandas”库将时间戳字符串转换为 UTC 时间戳。“to_datetime”函数,带有“utc=True”参数,可以完全处理此 UTC 表示。然后提取并打印生成的时间戳。

结论

在本综合指南中,我们研究了在 Python 中获取 UTC 时间戳的各种方法。从使用内置的“datetime”模块,到使用“pytz”处理时区,以及将时间戳格式化为人类可读的形式;这些技术涵盖了各种应用。无论您是处理原始时间戳、解析字符串还是使用“pandas”中可用的工具,Python 都是在 UTC 环境中进行时间戳操作的灵活选择。这些技术和最佳实践使开发人员能够确保其 Python 应用程序中的时间跟踪准确可靠。