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

  • ELPRESADOR

    ELPRESADOR

    21 HAZİRAN 2008
  • How to Cook ?

    How to Cook

    31 Ocak 2007
  • jonathepianist

    jonathepiani

    31 Temmuz 2008