Wydaje się, że różne systemy operacyjne inaczej radzą sobie z czasem letnim (DST). Bardzo podoba mi się podejście Cisco IOS, które jest bardzo proste i pozwala zmienić datę i godzinę rozpoczęcia i zakończenia DST. Na przykład:
clock summer-time EDT recurring 2 Sun Mar 2:00 1 Sun Nov 2:00 60
.. ustawia zegar o 60 minut do przodu w niedzielę drugiego tygodnia marca o 2:00 i przesuwa zegar o 60 minut do przodu w pierwszą niedzielę listopada o 2:00. Jak Linux obsługuje DST? Wiem, że istnieje tzdata
pakiet zawierający pliki danych strefy czasowej, które są instalowane w /usr/share/zoneinfo/
katalogu. Jak i za pomocą jakich narzędzi są używane te pliki? Widzę przesunięcie z UTC (2) i nazw stref czasowych (EET i EEST) w pliku:
T60:~# strings /usr/share/zoneinfo/posix/Europe/Helsinki
TZif2
HMT
EEST
TZif2
EEST
EET-2EEST,M3.5.0/3,M10.5.0/4
T60:~#
Ponadto M3
jest prawdopodobnie trzeci miesiąc i M10
dziesiąty miesiąc? Ponadto należy gdzieś określić przesunięcie. Na przykład w IOS można skonfigurować, że gdy nastąpi czas letni, zegar przesuwa się na przykład o 90 lub 120 minut zamiast 60.