“ pytz.localize()”,四舍五入到最接近的现有小时数(在DST飞跃的情况下)

时间:2019-03-15 09:07:38

标签: python pytz

基本上,我得到了:

tz = pytz.timezone('US/Eastern')
dt = datetime.datetime(2019, 03, 10, 02, 30)

我想将dt本地化到时区,同时删除不存在的小时。

如果我做tz.normalize(tz.localize(dt)),我会得到

datetime.datetime(2019, 3, 10, 3, 30, tzinfo=<DstTzInfo 'US/Eastern' EDT-1 day, 20:00:00 DST>)

我想要

datetime.datetime(2019, 3, 10, 3, 00, tzinfo=<DstTzInfo 'US/Eastern' EDT-1 day, 20:00:00 DST>)

(使用03:00而不是03:30,因为它更接近壁钟02:30)。

用例: 我得到了挂历时间列表(其中一个恰好是02:30),日期时间2019-03-10和时区美国/东部时间。

我想使用03:00(好吧,实际上是DST飞跃之后的时间)来构造特定日期时间和时区中的时间戳,而不是将时间戳与日期时间结合起来并对其进行本地化时将变为无效的任何墙上时间。可以自动将某些与挂钟时间相关的约会列表复制到另一天。

1 个答案:

答案 0 :(得分:0)

selector
  app: utils-backend

似乎可以正常工作。