Python中的日期时间格式化

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

引言

编程的一个重要部分是处理日期,Python 提供了有效的日期和时间操作。日期表示是其中的一个重要部分,因为它有助于以人类可理解的格式呈现日期。本综合指南讨论了 Python 的 datetime 模块及其格式化命令。

理解 'datetime' 模块

在 Python 中处理日期和时间始于其 'datetime' 模块。datetime 是一个类,它支持 **方便地表示和管理日期和时间**。首先,让我们在进入格式化之前了解如何处理 'datetime'。

输出

Current Date and Time: 2023-11-10 16:10:47.836675

'datetime.now()' 函数会提供一个 'datetime' 对象,该对象给出我们世界上当前的日期和时间。鉴于我们已经有一个 'datetime' 对象,让我们继续进行格式化。

格式化指令

在格式化指令中,Python 指示日期应该是什么样子。这些指令代表构成日期的不同元素,包括年、月、日、时间(小时/分钟/秒)。以下是一些常见的指令:

  • '%Y: = 以十进制数表示的世纪。
  • '%m: '00''00'' 或 '以零填充的十进制数表示的月份。
  • '%d: 表示月份中的某天的零填充十进制数字。
  • '%H: ' 小时(00 到 23)。
  • '%M: ' 分钟(00 到 59)。
  • '%S: ' 秒(00 到 59)。

现在,让我们采用这些指南来构建我们的 `datetime` 对象。

输出

Formatted Date: 2023-11-10 16:44:27

在此示例中,'%Y-%m-%d %H: 格式字符串 '%M:%S' 是每个指令等同于所涉及的日期和时间信息的特定部分。存在一个 'strftime' 方法,它采用 'datetime' 并将其转换为字符串,遵循首选的排列方式。

常用日期格式

然而,如果需要,可以设计标准的日期格式,并且有一些在世界范围内使用的常用日期格式。让我们探讨其中的一些:

ISO 8601 格式

这是一个广泛接受的约定,它使用 ISO 8601 格式为指定日期定义了国际标准。它清晰、易于解析且毫无疑问。

输出

ISO 8601 Format: 2023-11-10T16:45:18Z

长日期和短日期格式

因此,您可以考虑以更易于理解的方式呈现日期。例如,Python 语言中的 %A 用于表示一天的完整名称,而 %B 用于表示一个月的完整名称。

输出

Long Format: Friday, November 10, 2023
Short Format: Fri, Nov 10, 2023

自定义日期格式

通过自定义格式,您可以决定日期的显示方式。例如,要将日期表示为“YYYY/MM/DD”。

尝试使用其他指令集来获得您喜欢的日期格式。

解析日期

格式化不仅与日期表示有关,还与日期解释有关。您可以使用 'strptime' 方法将字符串转换为 'datetime' 对象。

处理时区

在处理日期中的时间时,尤其是在面向全球的应用程序中,您必须加以注意。在大多数情况下,Python 依赖 pytz 库来提供时区服务。

输出

Original DateTime: 2023-11-10 16:39:15.458975
Localized DateTime: 2023-11-10 16:39:15.458975-05:00
Converted DateTime: 2023-11-10 21:39:15.458975+00:00

在这种情况下,我们首先使用 'pytz.timezone' 来定义不同的时区,然后我们使用 'localize' 和 'astimezone' 方法来处理与时区信息相关的详细信息。

结论

Python 中日期格式化的知识是任何程序员成功进行日期和时间编程的核心。datetime 和格式化指令为以不同格式解析数据创建了一个坚实的基础。无论是格式化、从字符串解析日期、处理时区,Python 强大且成熟的库环境都能为您提供支持。掌握了这些知识,您就具备了使用 Python 在项目中处理各种日期和时间需求的一切条件。


下一个主题Python 调试