2016-01-28 31 views
5

Garip görünüyor, ancak Python'daki Pandas/pytz kullanarak yerel saat dilimini bulmanın kolay bir yolunu bulamıyorum. Sistem saati almak için pytz veya pandalar bir komut var mı? ... Sistem yerel saat dilimini python olarak alın

>>> 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') 

bana dilimini verecek Hangi, ancak bu muhtemelen bunu yapmanın en iyi yolu değil:

Yapabileceğim zon? (Tercihen piton 2.7 olarak)

cevap

8

Bu pytz veya pandas kullanarak mümkün olduğunu düşünmüyorum, ama her zaman python-dateutil veya tzlocal yükleyebilirsiniz:

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

veya

from tzlocal import get_localzone 
local_tz = get_localzone() 
6

time.timezone çalışması gerekir .

batı UTC ( İngiltere'de ABD, sıfır pozitif Batı Avrupa, çoğunda negatif) saniye cinsinden, yerel (DST) diliminin ofset.

3600 ile bölündüğünde saat içinde ofset verecektir:

import time 

print time.timezone/3600.0 
İlgili konular