Python 中格式化带时区的时间字符串

在 Python 中,经常需要将时间信息格式化为带有时区的 ISO 8601 格式字符串,例如 2022-08-25T08:11:21+08:00。 这篇文章将介绍如何使用 Python 的 datetimezoneinfo 模块实现这一功能。

代码示例:

from datetime import datetime
from zoneinfo import ZoneInfo

# 获取当前时间,设置时区为北京时间
current_time = datetime.now(ZoneInfo("Asia/Shanghai"))

# 格式化时间字符串
formatted_time = current_time.isoformat()

# 打印格式化后的时间字符串
print(formatted_time)

代码解释:

  1. 导入模块: 首先,我们导入 datetimezoneinfo 模块。zoneinfo 模块(Python 3.9+)提供了更准确和全面的时区信息。

  2. 获取当前时间: 使用 datetime.now(ZoneInfo("Asia/Shanghai")) 获取当前时间,并将其设置为北京时区。

  3. 格式化时间字符串: 使用 current_time.isoformat() 方法将时间对象格式化为 ISO 8601 格式字符串,包含时区信息。

  4. 打印结果: 最后,使用 print() 函数打印格式化后的时间字符串。

总结:

通过以上代码示例,我们可以轻松地将时间信息格式化为带有时区的 ISO 8601 格式字符串,方便在应用程序中进行存储、传输和处理。