Bei andLinux/Kubuntu 9.04 (CoLinux, das einen modifizierten Linux-Kernel
verwendet und als Task unter Windows läuft) scheint die Fehlfunktion
möglicherweise wirklich mit Windows zusammenzuhängen, da Alex' Beispiel
in einem Xubuntu 10.04 LTS lokale Zeit und UTC korrekt anzeigt. Allerdings
zeigt Alex' Beispiel unter MacOS X 10.6.7 (Snow Leopard) ebenso wie
andLinux/Kubuntu 9.04 die UTC-Zeit falsch an (identisch mit der lokalen
Zeit).
Bei einer Google-Recherche habe ich entdeckt, daß es in praktisch jeder
Linux-Distribution eine Zeitzonen-Datenbank gibt (tz database). Man muß
die Umgebungsvariable TZ nur auf den gewünschten Kontinent plus die
gewünschte Stadt (z.B. "Australia/Sydney" oder "UTC") setzen und kann
dann "date" aufrufen. Damit läßt sich dann sehr einfach z.B. eine Weltzeituhr
mit den verschiedensten Städten erstellen. Die einzugebenden Bezeichnungen
sind in diesem Wikipedia-Eintrag definiert:
http://en.wikipedia.org/wiki/List_of_tz ... time_zones
Diese Lösung habe ich erfolgreich unter andLinux/Kubuntu 9.04, Xubuntu
10.04 LTS und MacOS X 10.6.7 getestet:
Code: Alles auswählen
DataSection
Data.S "UTC"
Data.S "Europe/London"
Data.S "Europe/Berlin"
Data.S "Europe/Moscow"
Data.S "America/New_York"
Data.S "Asia/Hong_Kong"
Data.S "Australia/Sydney"
Data.S ""
EndDataSection
Repeat
Read.S TimeZone$
If TimeZone$ <> ""
SetEnvironmentVariable("TZ", TimeZone$)
ProgramID = RunProgram("date", "", "", #PB_Program_Open | #PB_Program_Read)
If ProgramID
While ProgramRunning(ProgramID)
Output$ + TimeZone$ + ": " + ReadProgramString(ProgramID) + #CR$
Wend
CloseProgram(ProgramID)
EndIf
EndIf
Until TimeZone$ = ""
SetEnvironmentVariable("TZ", "Europe/Berlin")
MessageRequester("Uhrzeit", Output$)