我正在尝试根据某个整数值向前或向后移动时间。到目前为止,我一直在添加(或减去)时间从小时开始,然后在创建时间时使用mod 24
time_structure = datetime.time((hour + time_zone_shift)%24, minute, second)
这大部分都有效(除了回滚日期,即给定的时间是7:30,然后time_zone_shift是-8)。我想知道是否有更“pythonic”的方法来做到这一点?
答案 0 :(得分:0)
因此,要回答您的问题,您应该使用datetime.timedelta
来抵消时间:
time_structure = (datetime.datetime(0, 0, 0, hour, minute, second) + datetime.timedelta(hours=time_zone_shift)).time()
但正如评论中所表达的那样,你应该真正使用pytz
进行时区数学,因为它可能相当复杂。