Gibt es eine Möglichkeit zu überprüfen, in welcher Zeitzone ich mich gerade unter Linux befinde?
linux
ubuntu-10.04
Peter Mortensen
quelle
quelle
date
werde ich dir sagen.echo $TZ
gibt nichts für mich zurück.Wenn Sie von der Konsole aus meinen, geben Sie einfach Folgendes ein:
quelle
+07
für mich. UmRegion/City
auf ein Debian / Arch-basiertes Linux zuzugreifen, lesen Sie diese Antwort .Wenn Sie die numerische Zeitzone wollen:
date +'%:z %Z'
Beispielausgabe:
quelle
:z EST
date
. Die BusyBox-Version gibt etwas Unsinniges aus, in meinem Fall "%: z CEST".linux
ubuntu-10.04
Ich wollte die Zeitzone stattdessen in der Form "US / Eastern" oder "Europe / London" finden. Sie finden dies in:
ZONE="US/Eastern"
in / etc / sysconfig / clockoder Sie können versuchen, / etc / localtime mit einer der Dateien unter / usr / share / zoneinfo abzugleichen. ärgerlicherweise scheint dies kein symlink zu sein, aber du kannst zb
passende Dateien zu finden - es gibt wahrscheinlich bessere Möglichkeiten, dies zu tun, aber das funktioniert. Es wird mehrere Übereinstimmungen geben.
quelle
find /usr/share/zoneinfo/ -type f| xargs md5sum | grep $(md5sum /etc/localtime | cut -d' ' -f1)
Für Ubuntu versuchen Sie Folgendes:
Beispielausgabe:
Weitere Informationen zur Distribution finden Sie unter https://unix.stackexchange.com/questions/110522/timezone-setting-in-linux
quelle
timedatectl set-timezone
wird nicht aktualisiert/etc/timezone
. In dieser Antwort finden Sie eine Lösung basierend auf/etc/localtime
.Manchmal suchen Sie nach der kanonischen Zeitzone und nicht nach der Kurzform, wie sie
date %Z
zUS/Eastern
. Auf Systemen mittimedatectl
zB Fedora werdentimedatectl
viele nützliche Informationen ausgegeben, einschließlich der aktuellen Zone:Leider
timedatectl
nimmtset-timezone
als Befehl, hat aber keine entsprechendget-timezone
. Analysieren Sie es wie folgt:quelle
Also bin ich in den Bergen. Die obigen Hinweise zur Verwendung von Umgebungsvariablen oder zur Ausgabe von Befehlen mit Datum funktionieren manchmal besser, je nachdem, wie Sie diese verwenden möchten.
quelle
Für die Zeitzone können Sie Geolocation verwenden:
Oder:
http://wiki.archlinux.org/index.php/time#Time_zone
quelle
/sbin/hwclock --systohc [--utc]
, um die Hardware-Uhr einzustellen.Der Linux-Kernel speichert und berechnet die Zeit immer als Anzahl von Sekunden seit Mitternacht des 1. Januar 1970 UTC, unabhängig davon, ob Ihre Hardware-Uhr als UTC gespeichert ist oder nicht. Umrechnungen zu Ihrer Ortszeit werden zur Laufzeit durchgeführt. Eine nette Sache dabei ist, dass, wenn jemand Ihren Computer mit einer anderen Zeitzone verwendet, er die Umgebungsvariable TZ festlegen kann und alle Datums- und Uhrzeitangaben für seine Zeitzone korrekt angezeigt werden.
Wenn die Anzahl der Sekunden seit dem 1. Januar 1970 UTC als vorzeichenbehaftete 32-Bit-Ganzzahl gespeichert ist (wie auf Ihrem Linux / Intel-System), funktioniert Ihre Uhr ab dem Jahr 2038 nicht mehr. Linux hat kein inhärentes Y2K-Problem , aber es hat ein Jahr 2038 Problem. Hoffentlich werden wir bis dahin alle Linux auf 64-Bit-Systemen ausführen. 64-Bit-Ganzzahlen sorgen dafür, dass unsere Uhren bis ungefähr 292271-Millionen gut laufen.
quelle
Einige Lösungen:
gab mir (bzw.):
Mein Computer ist auf UTC.
quelle
Die Verwendung von TZ oder Datum IST NICHT ZUVERLÄSSIG, da die Zeitzone des BENUTZERS und nicht die Standard-Systemzeitzone angegeben wird.
Die Standard-System-Zeitzone ist in / etc / timezone gespeichert (dies ist häufig eine symbolische Verknüpfung zu der für die Zeitzone spezifischen Datendatei). Wenn Sie keine / etc / timezone haben, schauen Sie unter / etc / localtime nach. Im Allgemeinen ist dies die Zeitzone des Servers. / etc / localtime ist häufig ein Symlink zu einer Zeitzonendatei in / usr / share / zoneinfo. Dieser Pfad zur richtigen Zeitzonendatei gibt Ihnen häufig auch Geografiedaten.
Neuere Linux-Versionen haben "timedatectl", das Ihnen jede Menge Informationen liefert, wenn der Befehl ausgeführt wird.
(Wenn Sie als Nebenknoten ein altes System haben, das immer noch die ALTEN fest codierten Zeitzonen verwendet, können Sie wahrscheinlich eine moderne Zeitzonendatei darauf kopieren, und es wird funktionieren. Ich musste dies viele Male tun, um wechselnde Zeitzonen aufzulösen bei älteren Geräten).
quelle
Manchmal wird
timedatectl set-timezone
das Update nicht durchgeführt./etc/timezone
Daher ist es am besten, die Zeitzone aus dem Namen der Datei zu ermitteln, auf die der Symlink/etc/timezone
verweist:Referenzen: in dieser Antwort .
quelle
Sie können Datum und Zeitzone gleichzeitig anzeigen:
quelle