Andreas Kohlbach in de.comp.os.unix.misc:
>On Mon, 23 Jan 2023 18:06:28 +0100, Peter J. Holzer wrote:
>> On 2023-01-23 16:30, Marco Moock <
mo...@posteo.de> wrote:
>>> Heute ist nach meinem Kenntnisstand die Zeit aber gleich.
>>> Warum wird dann heute noch Büsingen als separate Auswahl angeboten?
>>> Aus historischen Gründen, weil es ein UNIX ist? :-)
>>
>> Weil die Zeitzonendefinition auch historische Daten enthält und auch
>> enthalten muss, damit Zeitpunkte in der Vergangenheit richtig angezeigt
>> werden.
>
>Interessant.
Bei meinem OpenBSD hat Büsingen dasselbe zoneinfo file wie
Zürich:
| t20$ ls -li /usr/share/zoneinfo/Europe/ | grep -e '^134680'
| 134680 -r--r--r-- 2 root bin 1892 Jan 19 18:51 Busingen
| 134680 -r--r--r-- 2 root bin 1892 Jan 19 18:51 Zurich
| t20$
>> Österreich und Italien haben derzeit die gleiche Sommerzeitregelung.
>> Aber als ich ein Kind war, war das noch anders:
>>
>> % TZ=Europe/Rome date -d '1975-07-01' '+%Y-%m-%d %H:%M:%S%z'
>> 1975-07-01 00:00:00+0200
>> % TZ=Europe/Vienna date -d '1975-07-01' '+%Y-%m-%d %H:%M:%S%z'
>> 1975-07-01 00:00:00+0100
>
>Wobei Vatikan Stadt wohl die Interessanteste der Enklaven sein
>dürfte. Ein Land umgeben von einer Stadt.
>
>Immerhin haben sie wohl die "Europäische Zeitzone":
Was verstehst Du darunter? Es gibt einige Europäische Zeit-
zonen.
>~$ TZ=Europe/Vatican date -d '1975-07-01' '+%Y-%m-%d %H:%M:%S%z'
>1975-07-01 00:00:00+0200
Das war im Juli 1975 (Sommerzeit).
Heute sieht es immer noch so aus (mit dem date-Programm von
OpenBSD, "-j" heißt "Zeit anzeigen"):
| t20$ TZ="Europe/Rome" date -j +"%z"
| +0100
| t20$ TZ="Europe/Vatican" date -j +"%z"
| +0100
| t20$ TZ="Europe/Berlin" date -j +"%z"
| +0100
Dabei sind die zoneinfo files für die Vatiaknstadt und Rome
identisch:
| t20$ cmp /usr/share/zoneinfo/Europe/{Vatican,Rome}
| t20$
Zu Berlin (auch MEZ/MESZ) gibt es jedoch Unterschiede:
| t20$ cmp /usr/share/zoneinfo/Europe/{Vatican,Berlin}
| /usr/share/zoneinfo/Europe/Vatican /usr/share/zoneinfo/Europe/Berlin differ: char 24, line 1
| t20$ od -An -tx1c /usr/share/zoneinfo/Europe/Vatican | head -n 4
| 54 5a 69 66 32 00 00 00 00 00 00 00 00 00 00 00
| T Z i f 2 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
| 00 00 00 00 00 00 00 06 00 00 00 06 00 00 00 00
~~ ~~ ~~ ^^
| \0 \0 \0 \0 \0 \0 \0 006 \0 \0 \0 006 \0 \0 \0 \0
| t20$ od -An -tx1c /usr/share/zoneinfo/Europe/Berlin | head -n 4
| 54 5a 69 66 32 00 00 00 00 00 00 00 00 00 00 00
| T Z i f 2 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
| 00 00 00 00 00 00 00 08 00 00 00 08 00 00 00 00
~~ ~~ ~~ ^^
| \0 \0 \0 \0 \0 \0 \0 \b \0 \0 \0 \b \0 \0 \0 \0
| t20$
Die Erklärung dafür findet sich (auf meinem System) in "man 5 tzfile":
| TZFILE(5) File Formats Manual TZFILE(5)
|
| NAME
| tzfile – time zone information
|
| DESCRIPTION
| The time zone information files used by tzset(3) begin with the magic
| characters "TZif" to identify themselves as time zone information files,
| followed by a character identifying the version of the file's format (as
| of 2005, either an ASCII NUL or a '2') followed by fifteen bytes
| containing zeroes reserved for future use, followed by six four-byte
| values of type int written in a “big endian” byte order (the most
| significant byte of the value is written first). These values are, in
| order:
|
| tzh_ttisgmtcnt The number of UTC/local indicators stored in the file.
[...]
| Finally there are tzh_ttisgmtcnt UTC/local indicators, each stored as a
| one-byte value; they tell whether the transition times associated with
| local time types were specified as UTC or local time, and are used when a
| time zone file is used in handling POSIX-style time zone environment
| variables.
Marcel 1f7rt (1548157)
--
╭─╮ ╭─────╮ ╭──╮ ╭─╮ ╭──╮
╭─╮ ╭──────╯ ╰──╮ ╭─╯ ╭──╯ │ ╰─╮ │ ╰─────╯ ╰────╮
─╯ ╰──╯ ╭────────╯ │ │ ╭─╮ ╰──╮ │ ╭───╮ ╭─╯ ╭─────────╯ ╭──╮
╰──────────╯ ╰─╯ ╰─────╯ ╰─╯ ╰──╯ ff3812╰─────────────╯ ╰