我希望将设置的每日维护窗口+ UTC偏移转换为此维护窗口的下一次出现。
假设维护窗口是晚上10点到4点,UTC偏移量是-4。我想要做的是为该维护窗口的下一次出现的开始和结束生成一个datetime对象。
例如,如果它当前是6/2/2014 1:40 PM,UTC偏移为-4,我希望6/3/2014 02:00 AM UTC和6/3/2014 08:00 AM UTC < / p>
此外,如果它当前在维护窗口内,我希望当前窗口开始和结束。
即如果它目前在2014年6月2日晚上10:30,UTC偏移为-4,我仍然希望6/3/2014 02:00 AM UTC和6/3/2014 08:00 AM UTC
编辑: 也可以接受,甚至可能是首选,但是只有时间而不是日期。我需要能够将它存储在MySQL数据库中,所以如果我有一个很好的方法可以在不包括日期的情况下执行此操作,我就可以使用它了!
答案 0 :(得分:0)
我很难弄清楚如何将偏移量传递给pytz或datetime,所以我选择只编写自己的转换器:
def convert_utc(hour, minute, offset):
utchour = hour - math.floor(offset)
utcminute = minute
#Parts of India are offset by half an hour
if offset%1 == 0.5:
#minutes
if offset > 0:
utchour -= 1
utcminute = minute + 30
if utchour > 24:
utchour -= 24
if utchour < 0:
utchour = 24 + utchour
return int(utchour), int(utcminute)