Tzdata veritabanı tam olarak nasıl kullanılır?


10

Farklı işletim sistemleri gün ışığından yararlanma süresini (DST) farklı şekilde ele alır. Çok basit olan ve DST'nin başladığı ve bittiği tarih ve saati değiştirmesine izin veren Cisco IOS yaklaşımını gerçekten çok seviyorum. Örneğin:

clock summer-time EDT recurring 2 Sun Mar 2:00 1 Sun Nov 2:00 60

.. Mart ayının ikinci haftasının Pazar günü saat 60: 00'da saati saat 2: 00'de değiştirir. Linux DST'yi nasıl işler? tzdataSaat dilimi veri dosyaları içeren bir paket olduğunu ve bu dosyaların /usr/share/zoneinfo/dizine yükleneceğini biliyorum . Bu dosyalar nasıl ve hangi yardımcı programlar tarafından kullanılır? Dosyada UTC (2) ve saat dilimi adlarından (EET ve EEST) geçişi görebiliyorum:

T60:~# strings /usr/share/zoneinfo/posix/Europe/Helsinki
TZif2
    HMT
EEST
TZif2
EEST
EET-2EEST,M3.5.0/3,M10.5.0/4
T60:~# 

Ayrıca M3, muhtemelen üçüncü ay ve M10onuncu ay mı? Ayrıca ofset de bir yerde belirtilmelidir. Örneğin IOS'ta DST gerçekleştiğinde saat 60 yerine 90 veya 120 dakika kayar.

Yanıtlar:


4

TZ veritabanı ile ilgili Wikipedia sayfasına bakarsanız :

alıntı

Dosya formatları

Tz veritabanı, kuralları ve bölge geçişlerini insan tarafından okunabilir biçimde listeleyen bir metin dosyaları kümesi olarak yayınlanır. Kullanım için bu metin dosyaları, her zaman dilimi için bir tane olmak üzere platformdan bağımsız bir ikili dosya kümesinde derlenir. Referans kaynak kodu, zic (bölge bilgisi derleyicisi) adı verilen bir derleyicinin yanı sıra bu dosyaları okumak ve localtime () ve mktime () gibi standart API'lerde kullanmak için kod içerir.

Ek arama, stackoverflow ile ilgili şu soruları cevapladı : başlıklı: Dosya biçimi hakkında ek bilgi içeren saat dilimi veritabanı dosya biçimi sorusu .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.