Skip to main content
 首页 » 编程设计

python之为什么 datetime.time 没有时区

2025年05月04日14lautakyan007

我正在将 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 那样的时区?这似乎会让事情变得容易得多。是因为没有日期的时区偏移可能不明确吗?

请您参考如下方法:

时区需要日期,光有时间是不够的。

那是因为:

  1. 您需要能够确定 DST 是否适用。
  2. 您需要知道要应用的偏移量。时区不是一成不变的,它们会随着时间而改变,调整 DST 开始和结束日期,以及与 UTC 的偏移量。