我正在将 datetime.time 对象的时区转换为不同的时区。看起来最简单的方法是从 datetime.time 对象创建一个 datetime.datetime,然后进行转换。
像这样:
dt = datetime.datetime.combine(datetime.date.today(), self.data)
utc_dt = dt.astimezone(utc)
self.data = utc_dt.time()
为什么 datetime.time 没有像 datetime.datetime 那样的时区?这似乎会让事情变得容易得多。是因为没有日期的时区偏移可能不明确吗?
请您参考如下方法:
时区需要日期,光有时间是不够的。
那是因为:
- 您需要能够确定 DST 是否适用。
- 您需要知道要应用的偏移量。时区不是一成不变的,它们会随着时间而改变,调整 DST 开始和结束日期,以及与 UTC 的偏移量。
