python2.7中的时间偏移量

时间:2013-11-11 00:07:08

标签: python datetime python-2.7

我正在尝试根据某个整数值向前或向后移动时间。到目前为止,我一直在添加(或减去)时间从小时开始,然后在创建时间时使用mod 24

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

这大部分都有效(除了回滚日期,即给定的时间是7:30,然后time_zone_shift是-8)。我想知道是否有更“pythonic”的方法来做到这一点?

1 个答案:

答案 0 :(得分:0)

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

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

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