2016-01-28 21 views
5

Sembra strano, ma non riesco a trovare un modo semplice per trovare il fuso orario locale usando Pandas/pytz in Python.Ottieni il fuso orario locale del sistema in python

posso fare:

>>> pd.Timestamp('now', tz='utc').isoformat() 
Out[47]: '2016-01-28T09:36:35.604000+00:00' 
>>> pd.Timestamp('now').isoformat() 
Out[48]: '2016-01-28T10:36:41.830000' 
>>> pd.Timestamp('now').tz_localize('utc') - pd.Timestamp('now', tz='utc') 
Out[49]: Timedelta('0 days 01:00:00') 

che mi darà il fuso orario, ma questo non è probabilmente il modo migliore per farlo ... C'è un comando in pytz o panda per ottenere l'ora di sistema zona? (Preferibilmente in python 2.7)

risposta

8

Io non credo che questo è possibile utilizzando pytz o pandas, ma si può sempre installare python-dateutil o tzlocal:

from dateutil.tz import tzlocal 
datetime.now(tzlocal()) 

o

from tzlocal import get_localzone 
local_tz = get_localzone() 
6

time.timezone dovrebbe funzionare .

La scostamento del fuso orario locale (non DST), in secondi a ovest di UTC (negativo nella maggior parte dell'Europa occidentale, positivo negli Stati Uniti, pari a zero nel Regno Unito).

Dividendo per 3600 vi darà l'offset in ore:

import time 

print time.timezone/3600.0 
Problemi correlati