我正在将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那样有astimezone?这似乎会让事情变得容易得多。是因为没有日期,时区偏移量可能不明确吗?
时区需要一个日期,光有时间是不够的。
这是因为:
- 您需要能够确定夏令时是否适用
- 您需要知道要应用哪些偏移。时区不是静态的,它们会随着时间的推移而变化,调整夏令时的开始和结束日期,以及与UTC的偏移量