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

  • Bart Baker

    Bart Baker

    1 Aralık 2006
  • campos9896

    campos9896

    24 Mart 2012
  • Fraser Raft

    Fraser Raft

    9 Mart 2010