如何确定过去特定于时区的日期在python中是否为夏令时?

如何确定过去特定于时区的日期在python中是否为夏令时?,python,datetime,time,timezone,Python,Datetime,Time,Timezone,有没有办法检查某个特定时区在我指定的日期是否处于夏令时 test_dt = datetime(year=2015, month=2, day=1) pst = pytz.timezone('America/Los_Angeles') test_dt = pst.localize(test_dt) # should return False is_day_light_saving(test_dt) 只要打电话: 例如: #!/usr/b

有没有办法检查某个特定时区在我指定的日期是否处于夏令时

    test_dt = datetime(year=2015, month=2, day=1)
    pst = pytz.timezone('America/Los_Angeles')
    test_dt = pst.localize(test_dt) 

    # should return False
    is_day_light_saving(test_dt)        
只要打电话:

例如:

#!/usr/bin/env python
from datetime import datetime
import pytz # $ pip install pytz

naive = datetime(2015, 2, 1)
pacific = pytz.timezone('America/Los_Angeles')
aware = pacific.localize(naive, is_dst=None) 

print(is_summer_time(aware))
这相当于:

bool(pytz.timezone('America/Los_Angeles').dst(datetime(2015, 2, 1), is_dst=None))

根据我的经验,时区数据比datetime更容易处理对时区敏感的pandas.Timestamp()。我很确定时区敏感度可以从日期本身推断夏令时。通过首先将datetime转换为numpy.datetime64,将datetime转换为pandas.timestamp()非常简单

Timestamp(numpy.datetime64('2012-05-01T01:00:00.000000'))

您还可以尝试查看pandas源代码,了解它是如何推断tz信息的。

时区在哪里?它应该是任意的,但示例是'America/Los_Angeles'我认为
localtime的可能副本
只返回当前时间,我不确定您是否在datetime中指定了
时间
时区
,您如何确定是夏令时还是not@MorganThrapp这与这个问题无关
Timestamp(numpy.datetime64('2012-05-01T01:00:00.000000'))