Python:如何检查日期是否不明确?

Jar*_*děk 3 python timezone datetime python-dateutil

是否有任何简单的方法,如何确定日期时间对象中的日期是否不明确 - 这意味着特定的日期时间可以按常规时间更改的顺序在特定时区中存在两次?

\n\n

这是一个不明确的日期时间对象的示例。在纽约时区,2017 年 11 月 5 日凌晨 2 点,时间拨回凌晨 1 点。

\n\n
import datetime\nimport dateutil\n\n#\xc2\xa0definition of time zone\neastern_time = dateutil.tz.gettz('America/New_York')\n\n# definition of ambiguous datetime object\ndt = datetime.datetime(2017, 11, 5, 1, 30, 0, tzinfo=eastern_time)\n
Run Code Online (Sandbox Code Playgroud)\n\n

我期待这样的事情。

\n\n
>>> suggested_module.is_dt_ambiguous(dt)\nTrue\n
Run Code Online (Sandbox Code Playgroud)\n

Mat*_*int 5

您正在寻找datetime_ambiguous在向后过渡期间应用的函数(例如秋季 DST 结束时)。

dateutil.tz.datetime_ambiguous(dt, eastern_time)
Run Code Online (Sandbox Code Playgroud)

您可能还对 感兴趣datetime_exists,它适用于向前过渡期间(例如春季 DST 开始)。