Python的datetime模块提供了处理日期和时间的工具,但直接比较不同时区的datetime对象会导致错误。

使用datetime.now()获取当前时间时,返回的对象不包含时区信息。要进行准确的比较和计算,需要为datetime对象指定时区。

可以使用datetime.timezone类来处理时区。timezone.utc表示协调世界时(UTC)。

from datetime import datetime, timezone

# 获取当前UTC时间
now_utc = datetime.now(timezone.utc)

# 打印带有时区信息的ISO格式时间
print(now_utc.isoformat()) 

要使用特定时区,可以使用timedelta对象创建timezone对象。例如,要创建东2区的时区:

from datetime import timedelta

# 创建东2区时区
eastern_timezone = timezone(timedelta(hours=2))

# 获取当前时间并指定为东2区
now_eastern = datetime.now(eastern_timezone)

print(now_eastern.isoformat())