检查日期是否在世界某个地方有效

lec*_*eco 3 python timezone timestamp date

如何检查给定的时间戳是否仍然存在于全球的某个地方?

例如,假设我的时间戳类似于2017年5月10日下午3:49.今天世界上有什么地方是2017年5月10日下午3:49吗?

小智 5

您可以通过将所有时区的当前时间与提供的时间进行比较来进行检查.

这是一个能够为您完成的功能:

import datetime
deviations_from_utc = (-12, -11, -10, -9.5, -9, -8, -7, -6, -5,
                   -4, -3.5, -3, -2, -1, 0, 1, 2, 3, 3.5, 4, 4.5, 5,
                   5.5, 5.75, 6, 6.5, 7, 8, 8.5, 8.75, 9, 9.5, 10, 
                   10.5, 11, 12 , 12.75, 13, 14)
def is_current(t):
    n = datetime.datetime.utcnow()
    provided_time = (t.year, t.month, t.day, t.hour, t.minute)
    for time in deviations_from_utc:
        at = n + datetime.timedelta(hours=time)
        at_time = (at.year, at.month, at.day, at.hour, at.minute)
        if provided_time == at_time:
            return True
    return False
Run Code Online (Sandbox Code Playgroud)

deviations_from_utc包含所使用的utc时间的所有偏差.该列表取自维基百科文章.