Date: Unterschied zwischen den Versionen
Zeile 17: | Zeile 17: | ||
$ date --date='TZ="America/Los_Angeles" 09:00 next Fri' | $ date --date='TZ="America/Los_Angeles" 09:00 next Fri' | ||
=== | == Zeitzone setzen == | ||
Die Zeitzone wird durch die Anweisung tzconfig gesetzt: | |||
* | tzconfig | ||
* | Die Anweisung erfordert in der Regel Administratorrechte und wird ohne Parameter aufgerufen. Die Zeitzone wird dann von der Anweisung abgefragt. | ||
* Das | |||
== Uhrzeit anzeigen == | |||
date +'%Y%m%d %H%M%S' # ergibt z. B. 20060905 093432 | |||
# allgemein | |||
date +FORMAT # FORMAT ist ein String, wie er von strftime(3) interpretiert wird | |||
== System-Uhr vs. Hardware-Uhr == | |||
Es ist wichtig zu wissen, dass es zwei Uhren gibt: | |||
* die Hardware-Uhr: das ist ein Uhrenschaltkreis auf dem Mainboard, der wie eine Quarz-Uhr funktioniert. | |||
* die Betriebssystem-Uhr: das ist eine durch Interrupts angetriebene und nicht gerade sonderlich genaue Software-Uhr. | |||
Nachdem man mit date die Software-Uhr gestellt hat, sollte man diese Zeit auch in die Hardware-Uhr übertragen: | |||
# system clock -> hardware clock | |||
hwclock --systohc | |||
Ebenso kann man die Systemuhr nach der genaueren Hardware-Uhr neu stellen lassen: | |||
# hardware clock -> system clock | |||
hwclock --hctosys | |||
Die Zusatzoption -u zu hwclock sollte man dann verwenden, wenn man die Hardware-Uhr auf [https://de.wikipedia.org/wiki/Koordinierte_Weltzeit UTC] (in der Praxis gleichbedeutend mit [https://de.wikipedia.org/wiki/GMT GMT]) laufen hat, was sehr empfehlenswert ist. | |||
Wenn in /etc/adjtime steht: | |||
0.667509 1059309076 0.000000 | |||
1059309076 | |||
UTC | |||
Braucht man den -u Schalter nicht. Statt UTC könnte da auch LOCAL stehen. | |||
Gesetzt wird es bei [https://linuxwiki.de/Debian Debian] in /etc/default/rcS | |||
# Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not. | |||
UTC=yes | |||
Bei RedHat/[https://linuxwiki.de/Mandriva Mandriva] findet sich die Einstellung unter /etc/sysconfig/clock (UTC=true), bei [https://linuxwiki.de/Gentoo Gentoo] unter /etc/rc.conf, oder seit neuem unter /etc/conf.d/clock. Bei [https://linuxwiki.de/SuSE SuS]E war wohl rc.config? Andere Distributionen? | |||
=== Systemuhr mit einem ZeitServer synchronisieren === | |||
Siehe [https://linuxwiki.de/ZeitServer ZeitServer] bzw. [https://linuxwiki.de/ntp ntp]. | |||
== Umstellung Winter-/Sommerzeit == | |||
Heute Morgen war die Uhrzeit an meinem Rechner korrekt von Sommer- auf Winterzeit umgestellt. Frage: Woher weiß [https://linuxwiki.de/Linux Linux] eigentlich, wann die Zeit umzustellen ist? Ein [https://linuxwiki.de/ntp ntp]-Dämon läuft bei mir nicht. | |||
* vermutl. durch die /etc/localtime, denke ich? Den Inhalt kann ich leider nicht rauslesen | |||
* Das ist ein symbolischer Link auf /usr/share/zoneinfo/Europe/Berlin (offenbar eine Binär-Datei). Frage: Was steht da drin? Wie funktioniert das? | |||
Normalerweise wird unter Linux die Systemzeit nicht umgestellt, da das System [https://de.wikipedia.org/wiki/GMT GMT] als Zeitzone annimmt (kann man aber alles einstellen). Die Zeit, die der Benutzer angezeigt bekommt, wird dann je nach Datum und Zeitzone umgerechnet und angezeigt. | |||
Man kann [https://linuxwiki.de/KNOPPIX KNOPPIX] so starten, dass von einer UTC- (und nicht Localtime-) System-Uhr ausgegangen wird (siehe [https://linuxwiki.de/KNOPPIX/CheatCodes KNOPPIX/CheatCodes]). Ggf. geht die Uhr z.B. 2 Stunden vor. Das bleibt dann auch so, wenn man [https://linuxwiki.de/KNOPPIX/AufFestplatte KNOPPIX/AufFestplatte] installiert. | |||
Frage: Wie kann ich das nachträglich so einstellen, dass das Betriebssystem weiß, dass die Uhr auf UTC läuft? | |||
'''/etc/init.d/hwclock.sh''' ist Dein Freund | |||
== Syntax == | == Syntax == |
Version vom 8. September 2022, 10:05 Uhr
date - Ausgeben oder Setzen von Systemdatum und -zeit
Beschreibung
- Die aktuelle Uhrzeit im angegebenen FORMAT anzeigen oder die Systemzeit setzen
- Die obligatorischen Argumente für Optionen sind für deren Kurz- und Langform gleich
Installation
Anwendungen
Wandelt die Sekunden seit Beginn der Unix-Epoche (1970-01-01 UTC) in ein Datum um
$ date --date='@2147483647'
Zeigt die Zeit an der Westküste der USA an (verwenden Sie tzselect(1), um den Wert für TZ herauszufinden)
$ TZ='America/Los_Angeles' date
Zeigt die örtliche Zeit für 9 Uhr morgens am nächsten Freitag an der Westküste der USA an
$ date --date='TZ="America/Los_Angeles" 09:00 next Fri'
Zeitzone setzen
Die Zeitzone wird durch die Anweisung tzconfig gesetzt:
tzconfig
Die Anweisung erfordert in der Regel Administratorrechte und wird ohne Parameter aufgerufen. Die Zeitzone wird dann von der Anweisung abgefragt.
Uhrzeit anzeigen
date +'%Y%m%d %H%M%S' # ergibt z. B. 20060905 093432 # allgemein date +FORMAT # FORMAT ist ein String, wie er von strftime(3) interpretiert wird
System-Uhr vs. Hardware-Uhr
Es ist wichtig zu wissen, dass es zwei Uhren gibt:
- die Hardware-Uhr: das ist ein Uhrenschaltkreis auf dem Mainboard, der wie eine Quarz-Uhr funktioniert.
- die Betriebssystem-Uhr: das ist eine durch Interrupts angetriebene und nicht gerade sonderlich genaue Software-Uhr.
Nachdem man mit date die Software-Uhr gestellt hat, sollte man diese Zeit auch in die Hardware-Uhr übertragen:
# system clock -> hardware clock hwclock --systohc
Ebenso kann man die Systemuhr nach der genaueren Hardware-Uhr neu stellen lassen:
# hardware clock -> system clock hwclock --hctosys
Die Zusatzoption -u zu hwclock sollte man dann verwenden, wenn man die Hardware-Uhr auf UTC (in der Praxis gleichbedeutend mit GMT) laufen hat, was sehr empfehlenswert ist.
Wenn in /etc/adjtime steht:
0.667509 1059309076 0.000000 1059309076 UTC
Braucht man den -u Schalter nicht. Statt UTC könnte da auch LOCAL stehen.
Gesetzt wird es bei Debian in /etc/default/rcS
# Set UTC=yes if your system clock is set to UTC (GMT), and UTC=no if not. UTC=yes
Bei RedHat/Mandriva findet sich die Einstellung unter /etc/sysconfig/clock (UTC=true), bei Gentoo unter /etc/rc.conf, oder seit neuem unter /etc/conf.d/clock. Bei SuSE war wohl rc.config? Andere Distributionen?
Systemuhr mit einem ZeitServer synchronisieren
Siehe ZeitServer bzw. ntp.
Umstellung Winter-/Sommerzeit
Heute Morgen war die Uhrzeit an meinem Rechner korrekt von Sommer- auf Winterzeit umgestellt. Frage: Woher weiß Linux eigentlich, wann die Zeit umzustellen ist? Ein ntp-Dämon läuft bei mir nicht.
- vermutl. durch die /etc/localtime, denke ich? Den Inhalt kann ich leider nicht rauslesen
- Das ist ein symbolischer Link auf /usr/share/zoneinfo/Europe/Berlin (offenbar eine Binär-Datei). Frage: Was steht da drin? Wie funktioniert das?
Normalerweise wird unter Linux die Systemzeit nicht umgestellt, da das System GMT als Zeitzone annimmt (kann man aber alles einstellen). Die Zeit, die der Benutzer angezeigt bekommt, wird dann je nach Datum und Zeitzone umgerechnet und angezeigt.
Man kann KNOPPIX so starten, dass von einer UTC- (und nicht Localtime-) System-Uhr ausgegangen wird (siehe KNOPPIX/CheatCodes). Ggf. geht die Uhr z.B. 2 Stunden vor. Das bleibt dann auch so, wenn man KNOPPIX/AufFestplatte installiert.
Frage: Wie kann ich das nachträglich so einstellen, dass das Betriebssystem weiß, dass die Uhr auf UTC läuft?
/etc/init.d/hwclock.sh ist Dein Freund
Syntax
$ date [OPTION]… [+FORMAT] $ date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Optionen
Parameter
Umgebungsvariablen
Exit-Status
Konfiguration
Dateien
Sicherheit
Dokumentation
RFC
Man-Pages
Info-Pages
- Vollständige Dokumentation unter: <https://www.gnu.org/software/coreutils/date>
- lokal verfügbar mit: info '(coreutils) date invocation'
Siehe auch
Links
Projekt-Homepage
Weblinks
Einzelnachweise
Testfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5
TMP
date MMTThhmm
MM | Monat |
TT | Tag |
hh | Stunden |
mm | Minuten |
# oder auch in der für USA üblichen Schreibweise: date -s "12/31 23:59"