我尝试在python中指定一组时区感知时间,使用日期时间.time物体。然而,pytz库似乎并没有很好地支持这一点:使用US/Pacific会返回一个奇数时区,该时区与UTC相差53分钟
>>> datetime.time(10, 52, tzinfo=pytz.timezone("US/Pacific"))
datetime.time(10, 52, tzinfo=<DstTzInfo 'US/Pacific' LMT-1 day, 16:07:00 STD>)
支持的方法似乎是使用日期时间.本地化,用于日期时间。日期时间对象,但不支持日期时间.time对象
^{pr2}$
问题是时区在没有关联日期的
time
上是没有意义的;假设您在美国/太平洋时区有一个日期,这不是一个恒定的偏移量;实际的调整取决于time
应该发生的确切的日期。在如您所注意到的,如果您按原样使用
US/Pacific
,而没有localize
,那么tzinfo
对象在默认情况下是指历史时区,该时区没有与当前UTC偏移,即使是整整一小时,但有些分数;这是因为tzinfo
实例不知道它们正在调整的datetime
;time
也会出现同样的问题。在最好的做法是不要对
time
使用时区;当需要时区计算时,可以将其与本地化的datetime
对象合并。在相关问题 更多 >
编程相关推荐