2015-06-30 3 views
5

Gibt es eine Möglichkeit zu überprüfen, ob eine bestimmte Zeitzone in einem von mir angegebenen Datum in der Sommerzeit ist?Wie kann man feststellen, ob ein zeitzonenspezifisches Datum in der Vergangenheit Sommerzeit ist oder nicht in Python?

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)   
+0

Wo ist die Zeitzone? –

+0

Es sollte willkürlich sein, aber das Beispiel ist 'America/Los_Angeles' – Kevin

+0

mögliche Duplikat von [Python Sommerzeit] (http://stackoverflow.com/questions/2881025/python-daylight-savings-time) –

Antwort

5

Gerade the datetime.dst() method nennen:

def is_summer_time(aware_dt): 
    assert aware_dt.tzinfo is not None 
    assert aware_dt.tzinfo.utcoffset(aware_dt) is not None 
    return bool(aware_dt.dst()) 

Beispiel:

#!/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)) 

Es ist äquivalent zu:

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

Meiner Erfahrung nach Zeitzone Daten wird leichter behandelt ti mezone-sensitive pandas.Timestamp() als datetime. Ich bin mir ziemlich sicher, dass die Zeitzonenempfindlichkeit die Sommerzeit von dem Datum selbst abhängig macht. Es ist trivial, datetime in pandas.timestamp() zu konvertieren, indem Sie es zuerst in numpy.datetime64 konvertieren.

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

http://wesmckinney.com/blog/easy-high-performance-time-zone-handling-in-pandas-0-8-0/

python pandas TimeStamps to local time string with daylight saving

Converting between datetime, Timestamp and datetime64

auch versuchen, Sie können an der Pandas Quellcode suchen und herauszufinden, wie sie die tz Informationen abgeleitet. https://github.com/pydata/pandas/blob/master/pandas/src/datetime/np_datetime.c

Verwandte Themen