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

标签 python datetime timezone python-dateutil

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

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

import datetime
import dateutil

# definition of time zone
eastern_time = dateutil.tz.gettz('America/New_York')

# definition of ambiguous datetime object
dt = datetime.datetime(2017, 11, 5, 1, 30, 0, tzinfo=eastern_time)

我期待这样的事情。

>>> suggested_module.is_dt_ambiguous(dt)
True

最佳答案

您正在寻找 datetime_ambiguous函数,它适用于向后过渡期间(例如秋季 DST 结束)。

dateutil.tz.datetime_ambiguous(dt, eastern_time)

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

关于Python:如何检查日期是否不明确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61321217/

相关文章:

python - 更改 FITS 文件 header 中的关键字值

对于单个 Unicode 字符串,Python 返回长度为 2

timezone - Unix 时间戳 'Z' 中的 '120314170138Z' 是什么意思?

timezone - 提供带有偏移量的日期字符串(+0530)与在显示名称中单独指定时区(亚洲/加尔各答)

python - 迭代 pandas 中数据帧的行并更改值

python - 在python中迭代和匹配大文件

python - 如何找到一个日期和另一个日期之间的差异(如果第二个未完全插入到dataFrame中)

java - TimeZone 在 Android 2.3 的 SimpleDateFormat 中损坏

python - 如何在不使用库的情况下在 python 中按自定义月份增加日期时间

c# - C# 中的时区?