3. Mik azok az időzónák?

Az időzónák a Földet Kelet-Nyugati irányban 15o-os részekre osztják, és arra szolgálnak, hogy meg tudjuk állapítani, máshol mennyi az idő.

Manapság ez a felosztás inkább politikai döntéstől függ, az időzónák nem teljesen egyformák. Energiamegtakarítási célból alkalmazzuk a nyári időszámítást, ami szintén egy időzóna-variációnak tekinthető (tudniillik az időzóna eltolásának fogható fel).

Az időzónát az adott ország kormánya határozza meg, a nevét 3 vagy 4 betűvel rövidítjük. Lásd: 3.2 (időzóna példák).

Megnézhetjük a timezoneconverter.com hivatkozás segítségével, hogy most éppen mennyi az idő a Föld különböző helyein.

3.1. Nyári időszámítás

Energiamegtakarítási célokból az egyes országok "nyári időszámítást" vezetnek be. Ilyenkor az órákat egy órával előre állítják. Ez gyakorlatilag az időzóna eltolását jelenti. A kiindulópont (az UTC) ideje mindig ugyanaz marad.

Később bemutatjuk, hogyan lehet a Linuxban a DST-t (=a nyári időszámításra való áttérést) automatikusan beállítani.

3.2. Időzóna példák

Legjobb magyarázat a példa:

Kérem küldjenek be hasonló táblázatokat az időzónákra.

3.3. Időzóna mechanizmus a Linuxban

A Linux a glibc dinamikus időzónáját használja, amely az /etc/localtime fájl beállítását veszi figyelembe. Ez a fájl többnyire egy hivatkozás, ami a zónainfó fájlra mutat, vagy annak másolatára. A zónainfó fájl többnyire itt található: /usr/share/zoneinfo.

Geográfiai szempontból 360o/15o=24 időzóna létezik a Földön. Az időzóna információ könnyebb beállítása érdekében az /usr/share/zoneinfo fájlban több száz ország és város neve megtalálható.

Néhány országban (például Brazíliában is), a nyári időszámítás kezdete nem mindig ugyanaz a nap, minden évben meghatározzák nyár előtt jó pár hónappal. Ilyen esetben a zónainfó fájlt módosítani kell a zic paranccsal, ami egy ehhez hasonló szövegfájlból dolgozik:

Példa 1. Brazil időzóna-infó szövegfájl


# Brazíl időzónák
#
# A brazíl időzónák a következők:
# BREST: Kelet-Brazília. Fernando de Noronha.
# BRST:  Brazília, São Paulo, Rio, északkelet, dél, stb.
# BRWST: Nyugat-Brazília. Mato Grosso, Manaus
# BRAST: Acre.
#
# A nyári időszámítás alatt az 'S' betű 'D'-re változik.
#
# A lista felrakásához:
#
# # zic Brazil.txt
#
# A zónafájlok az /usr/share/zoneinfo alá lesznek berakva 
# (Linux disztribúciótól is függ). Ezután csináljunk egy
# szimbolikus hivatkozást a zónainfóról az /etc/localtime fájlra:
#
# # ln -sf /usr/share/zoneinfo/Brazil/Brasilia /etc/localtime
#
#
# Ha módosítás vagy új szabvány jönne létre ezzel a listával kapcsolatban,
# kérem értesítsenek az alábbi címen:
#
# Avi Alkalay <avi @ unix.sh>
#
# Utolsó módosítás: 2000.11.18
# Ez a lista hozzáférhető az alábbi helyen:
# http://avi.alkalay.net/linux/zoneinfo/
#

# Rule  NAME    FROM  TO    TYPE  IN    ON   AT    SAVE   LETTER/S
Rule    Brazil  1931  1932  -     Oct   3    0:00  1:00   D
Rule    Brazil  1932  1933  -     Mar   31   0:00  0      S
Rule    Brazil  1949  only  -     Dec   1    0:00  1:00   D
Rule    Brazil  1950  only  -     Apr   30   0:00  0      S
Rule    Brazil  1950  1952  -     Dec   1    0:00  1:00   D
Rule    Brazil  1951  only  -     Apr   16   0:00  0      S
Rule    Brazil  1952  only  -     Mar   31   0:00  0      S
Rule    Brazil  1953  only  -     Feb   28   0:00  0      S
Rule    Brazil  1963  only  -     Oct   23   0:00  1:00   D
Rule    Brazil  1964  only  -     Mar   1    0:00  0      S
Rule    Brazil  1965  only  -     Jan   31   0:00  1:00   D
Rule    Brazil  1965  only  -     Mar   31   0:00  0      S
Rule    Brazil  1965  only  -     Dec   1    0:00  1:00   D
Rule    Brazil  1966  1968  -     Mar   1    0:00  0      S
Rule    Brazil  1966  1967  -     Nov   1    0:00  1:00   D
Rule    Brazil  1984  only  -     Nov   2    0:00  1:00   D
Rule    Brazil  1985  only  -     Mar   15   0:00  0      S
Rule    Brazil  1985  only  -     Nov   2    0:00  1:00   D
Rule    Brazil  1986  only  -     Mar   15   0:00  0      S
Rule    Brazil  1986  only  -     Oct   25   0:00  1:00   D
Rule    Brazil  1987  only  -     Feb   14   0:00  0      S
Rule    Brazil  1987  only  -     Oct   25   0:00  1:00   D
Rule    Brazil  1988  only  -     Feb   7    0:00  0      S
Rule    Brazil  1988  only  -     Oct   16   0:00  1:00   D
Rule    Brazil  1989  only  -     Jan   29   0:00  0      S
Rule    Brazil  1989  only  -     Oct   15   0:00  1:00   D
Rule    Brazil  1990  only  -     Feb   11   0:00  0      S
Rule    Brazil  1990  only  -     Oct   21   0:00  1:00   D
Rule    Brazil  1991  only  -     Feb   17   0:00  0      S
Rule    Brazil  1991  only  -     Oct   20   0:00  1:00   D
Rule    Brazil  1992  only  -     Feb   9    0:00  0      S
Rule    Brazil  1992  only  -     Oct   25   0:00  1:00   D
Rule    Brazil  1993  only  -     Jan   31   0:00  0      S
Rule    Brazil  1993  only  -     Oct   17   0:00  1:00   D
Rule    Brazil  1994  only  -     Feb   20   0:00  0      S
Rule    Brazil  1994  only  -     Oct   16   0:00  1:00   D
Rule    Brazil  1995  only  -     Feb   19   0:00  0      S
Rule    Brazil  1995  only  -     Oct   15   0:00  1:00   D
Rule    Brazil  1996  only  -     Feb   11   0:00  0      S
Rule    Brazil  1996  only  -     Oct   06   0:00  1:00   D
Rule    Brazil  1997  only  -     Feb   16   0:00  0      S
Rule    Brazil  1997  only  -     Oct   06   0:00  1:00   D
Rule    Brazil  1998  only  -     Mar   01   0:00  0      S
Rule    Brazil  1998  only  -     Oct   11   0:00  1:00   D
Rule    Brazil  1999  only  -     Feb   21   0:00  0      S
Rule    Brazil  1999  only  -     Oct   03   0:00  1:00   D
Rule    Brazil  2000  only  -     Feb   27   0:00  0      S
Rule    Brazil  2000  only  -     Oct   8    0:00  1:00   D
Rule    Brazil  2001  only  -     Feb   18   0:00  0      S


# Zone  NAME                          GMTOFF  RULES/SAVE    FORMAT  [UNTIL]
Zone    Brazil/DeNoronha              -2:00   Brazil        BRE%sT
Zone    posix/Brazil/DeNoronha        -2:00   Brazil        BRE%sT
Zone    right/Brazil/DeNoronha        -2:00   Brazil        BRE%sT
Zone    Brazil/East                   -2:00   Brazil        BRE%sT
Zone    posix/Brazil/East             -2:00   Brazil        BRE%sT
Zone    right/Brazil/East             -2:00   Brazil        BRE%sT

Zone    America/Sao_Paulo             -3:00   Brazil        BR%sT
Zone    America/Rio_de_Janeiro        -3:00   Brazil        BR%sT
Zone    America/Brasilia              -3:00   Brazil        BR%sT
Zone    posix/America/Sao_Paulo       -3:00   Brazil        BR%sT
Zone    posix/America/Rio_de_Janeiro  -3:00   Brazil        BR%sT
Zone    posix/America/Salvador        -3:00   Brazil        BR%sT
Zone    posix/America/Brasilia        -3:00   Brazil        BR%sT
Zone    posix/Brazil/Central          -3:00   Brazil        BR%sT
Zone    posix/Brazil/Brasilia         -3:00   Brazil        BR%sT
Zone    posix/Brazil/Sao_Paulo        -3:00   Brazil        BR%sT
Zone    posix/Brazil/Salvador         -3:00   Brazil        BR%sT
Zone    posix/Brazil/Rio_de_Janeiro   -3:00   Brazil        BR%sT
Zone    right/America/Sao_Paulo       -3:00   Brazil        BR%sT
Zone    right/America/Rio_de_Janeiro  -3:00   Brazil        BR%sT
Zone    right/America/Salvador        -3:00   Brazil        BR%sT
Zone    right/America/Brasilia        -3:00   Brazil        BR%sT
Zone    right/Brazil/Central          -3:00   Brazil        BR%sT
Zone    right/Brazil/Brasilia         -3:00   Brazil        BR%sT
Zone    right/Brazil/Sao_Paulo        -3:00   Brazil        BR%sT
Zone    right/Brazil/Salvador         -3:00   Brazil        BR%sT
Zone    right/Brazil/Rio_de_Janeiro   -3:00   Brazil        BR%sT
Zone    Brazil/Central                -3:00   Brazil        BR%sT
Zone    Brazil/Brasilia               -3:00   Brazil        BR%sT
Zone    Brazil/Sao_Paulo              -3:00   Brazil        BR%sT
Zone    Brazil/Rio_de_Janeiro         -3:00   Brazil        BR%sT
Zone    Brazil/Salvador               -3:00   Brazil        BR%sT

Zone    Brazil/West                   -4:00   Brazil        BRW%sT
Zone    Brazil/Manaus                 -4:00   Brazil        BRW%sT
Zone    Brazil/Rondonia               -4:00   Brazil        BRW%sT
Zone    Brazil/Roraima                -4:00   Brazil        BRW%sT
Zone    Brazil/Mato_Grosso            -4:00   Brazil        BRW%sT
Zone    posix/Brazil/Manaus           -4:00   Brazil        BRW%sT
Zone    posix/Brazil/Mato_Grosso      -4:00   Brazil        BRW%sT
Zone    right/Brazil/Manaus           -4:00   Brazil        BRW%sT
Zone    right/Brazil/Mato_Grosso      -4:00   Brazil        BRW%sT
Zone    posix/America/Manaus          -4:00   Brazil        BRW%sT
Zone    right/America/Manaus          -4:00   Brazil        BRW%sT

Zone    Brazil/Acre                   -5:00   Brazil        BRA%sT
				

A Rule blokk meghatározza az időzóna váltás dátumát és idejét, a Zone blokk pedig megadja azt, hogy mire váltanak. A Zone valójában egy fájl az /usr/share/zoneinfo könyvtárban. Itt földrészek szerint sok városnevet találunk, hogy könnyebb legyen a számunkra megfelelőt kiválasztani.

Az időzónák listáját a zic paranccsal bővíthetjük, ha ezt szükségesnek tartjuk. A legtöbb Linux terjesztésben létezik más megoldás az időzóna beállítására, legjobb, ha azt használjuk. 4.1 .

Ha az /etc/localtime az általunk kiválasztott időzóna fájlra mutat, akkor a nyári időszámításra való áttérés (DST) teljesen automatikus, ezzel kapcsolatban nincs további teendőnk.

A következő parancssorozat bemutatja a Linux időzóna mechanizmusát.

bash$ ls -al /etc/localtime
lrwxrwxrwx 1 root root 35 OKT 24 2000 /etc/localtime -> /usr/share/zoneinfo/Europe/Budapest
bash$ date
K AUG 10 20:32:56 CEST 2004
bash# ln -sf /usr/share/zoneinfo/UTC /etc/localtime
bash$ date
K AUG 10 18:33:15  UTC 2004
bash# ln -sf /usr/share/zoneinfo/Europe/Budapest /etc/localtime
bash$ date
K AUG 10 20:33:30  CEST 2004

20:33 előtt az alapértelmezett időzóna volt beállítva (Europe/Budapest), ezután az UTC időt állítottuk be. Ekkor a date paranccsal kiíratott idő 2 órával kevesebbet mutat! Az időben hasonló változást figyelhetünk meg a téli/nyári időszámításra való automatikus áttéréskor is, de akkor nem változik meg az időzóna! Ezt itt csak a példa kedvéért mutattuk be.

Minden futó alkalmazás érzékeli a fentihez hasonló változást. A rendszeren dolgozók számára fontos észben tartani, hogy az idő az a pillanatnyi idő plusz az időzóna. Részletesebben a 2 fejezetben mutatjuk be.

Végül vissza lett állítva a helyes (Europe/Budapest) időzóna.