繁体   English   中英

与时间有关的下一个DateTime对象

[英]Next DateTime object pertaining to a time

我希望将设置的每日维护时段+ UTC偏移量转换为该维护时段的下一次出现。

假设维护时段为10 PM-4AM,UTC偏移为-4。 我想做的是为该维护窗口的下一次出现的开始和结束都生成一个datetime对象。

例如,如果当前为2014年6月2日下午1:40,UTC偏移为-4,则我希望2014年6月3日02:00 AM UTC和2014年6月3日08:00 AM UTC

另外,如果当前在维护窗口中,则希望当前窗口开始和结束。

也就是说,如果当前是2014年6月2日10:30 PM,UTC偏移为-4,我仍然希望2014年6月3日02:00 AM UTC和2014年6月3日08:00 AM UTC

编辑:也可以接受,甚至可能更喜欢,将是相同的方法,只是时间而不是日期。 我需要将其存储在MySQL数据库中,因此,如果我有一个很好的方法可以在不包括日期的情况下进行此操作,那么我可以接受!

我很难弄清楚如何将偏移量传递给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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM