python感知时区指定

2024-10-02 22:34:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在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}$

Tags: 对象datetimetime时间物体usutc奇数
1条回答
网友
1楼 · 发布于 2024-10-02 22:34:35

问题是时区在没有关联日期的time上是没有意义的;假设您在美国/太平洋时区有一个日期,这不是一个恒定的偏移量;实际的调整取决于time应该发生的确切的日期。在

如您所注意到的,如果您按原样使用US/Pacific,而没有localize,那么tzinfo对象在默认情况下是指历史时区,该时区没有与当前UTC偏移,即使是整整一小时,但有些分数;这是因为tzinfo实例不知道它们正在调整的datetimetime也会出现同样的问题。在

最好的做法是不要对time使用时区;当需要时区计算时,可以将其与本地化的datetime对象合并。在

相关问题 更多 >