SORU
6 EKİM 2011, PERŞEMBE


Yerel saat dilimi için Olson TZ adını almak?

Nasıl Olson timezone name (Australia/Sydney) değer C tarafından verilen karşılık localtime arayayım mı?

Bu değer /etc/localtime, symlinking veya zamanla ilgili sistem yapılandırma dosyaları TIMEZONE değişken ayarı TZ) geçersiz kılınır.

CEVAP
30 Kasım 2011, ÇARŞAMBA


Bence en iyi bahis git thru tüm pytz dilimleri ve kontrol eden bir kibrit yerel saat dilimi, her zaman dilimi pytz nesnesi içeren bilgi hakkında utcoffset ve tzname gibi CDT, EST, aynı bilgi hakkında yerel zaman elde edilebilir time.timezone/altzone time.tzname ve bence o kadar düzgün maç yerel saat diliminde pytz veritabanı örneğin

import time
import pytz
import datetime

local_names = []
if time.daylight:
    local_offset = time.altzone
    localtz = time.tzname[1]
else:
    local_offset = time.timezone
    localtz = time.tzname[0]

local_offset = datetime.timedelta(seconds=-local_offset)

for name in pytz.all_timezones:
    timezone = pytz.timezone(name)
    if not hasattr(timezone, '_tzinfos'):
        continue#skip, if some timezone doesn't have info
    # go thru tzinfo and see if short name like EDT and offset matches
    for (utcoffset, daylight, tzname), _ in timezone._tzinfos.iteritems():
        if utcoffset == local_offset and tzname == localtz:
            local_names.append(name)

print local_names

çıkış:

['America/Atikokan', 'America/Bahia_Banderas', 'America/Bahia_Banderas', 'America/Belize', 'America/Cambridge_Bay', 'America/Cancun', 'Amerika/Chicago', 'America/Chihuahua', 'America/Coral_Harbour', 'America/Costa_Rica', 'America/El_Salvador', 'America/Fort_Wayne', 'America/Guatemala', 'America/Indiana/Indianapolis', 'America/Indiana/Knox', 'America/Indiana/Marengo', 'America/Indiana/Marengo', 'America/Indiana/Petersburg', 'America/Indiana Tell_City/', 'America/Indiana/Vevay', 'America/Indiana/Vincennes', 'America/Indiana/Winamac', 'Amerika/Indianapolis', 'America/Iqaluit', 'America/Kentucky/Louisville', 'America/Kentucky/Louisville', 'America/Kentucky/Monticello', 'America/Knox_İN', 'America/Louisville', 'America/Louisville', 'America/Managua', 'America/Matamoros', 'America/Menominee', 'America/Merida', 'Amerika Mexico_City/', 'America/Monterrey', 'America/North_Dakota/Beulah', '/North_Dakota/Merkezi Amerika', 'America/North_Dakota/New_Salem', 'America/Ojinaga', 'America/Pangnirtung', 'America/Rainy_River', 'America/Rankin_İnlet', 'America/Resolute', 'America/Resolute', 'America/Tegucigalpa', 'America/Winnipeg', 'CST6CDT', 'Kanada/Merkez', 'Meksika/Genel', 'ABD/Merkez', 'ABD/Doğu-Indiana', 'ABD/Indiana-Starke']

Üretimde böyle bir eşleme önceden oluşturun ve kaydedin her zaman dolaşmak yerine.

Zaman dilimini değiştirdikten sonra komut test:

$ ihracat='Avustralya/Sydney' . TZ ^br> $ python get_tz_names.py
['Antarktika/Dicle', 'Avustralya/ACT', 'Avustralya/Brisbane', 'Avustralya/Canberra', 'Australia/Currie', 'Avustralya/Hobart', 'Australia/Lindeman', 'Avustralya/Melbourne', 'Avustralya/NSW', 'Avustralya/Queensland', 'Avustralya/Sydney', 'Avustralya/Tazmanya', 'Avustralya/Victoria']

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jejoab

    Jejoab

    4 NİSAN 2008
  • Louis C.K.

    Louis C.K.

    18 HAZİRAN 2006
  • Michelle Phan

    Michelle Pha

    18 Temmuz 2006