0

我试图根据某个整数值向前或向后移动时间。到目前为止,我只是从小时中添加(或减去)那个时间偏移,然后在创建时间时使用 mod 24

time_structure = datetime.time((hour + time_zone_shift)%24, minute, second) 

这在大多数情况下都有效(除非回滚日期,即如果给定的时间是 7:30,那么 time_zone_shift 是-8)。我想知道是否有更“pythonic”的方式来做到这一点?

4

1 回答 1

0

因此,要回答您的问题,您应该使用datetime.timedelta来抵消时间:

time_structure = (datetime.datetime(0, 0, 0, hour, minute, second) + datetime.timedelta(hours=time_zone_shift)).time()

但正如评论中所表达的,你应该真正使用pytz时区数学,因为它可能相当复杂。

于 2013-11-11T00:47:16.733 回答