Datums- und Zeitstempel in UNIX/Linux

Niraj Menon 22 März 2022
  1. Holen Sie sich das aktuelle Datum und die aktuelle Uhrzeit in Linux
  2. UNIX-Zeit
Datums- und Zeitstempel in UNIX/Linux

Datums- und Uhrzeitinformationen sind auf der Befehlszeile nicht ganz so sichtbar wie bei einer grafischen Version von Linux, aber wir können diese Informationen sicherlich mit dem Befehl date abrufen.

In diesem Tutorial wird erklärt, wie Sie den Befehl date verwenden, um Datums- und Zeitangaben abzurufen, zu parsen, zu konvertieren und in verschiedenen Formaten unter Linux zu drucken, wobei eine Bash-Shell-Befehlszeile vorausgesetzt wird.

Holen Sie sich das aktuelle Datum und die aktuelle Uhrzeit in Linux

Wie gezeigt, gibt uns das laufende date das aktuelle Datum und die aktuelle Uhrzeit mit der Zeitzone.

user@linux:~$ date
Tue 01 Jan 2022 12:00:00 AM +04

Das Standardformat für Datum und Uhrzeit entspricht der Zeitzone, in der Sie sich befinden – in diesem Fall ist die Ausgabe von date für einen Benutzer, dessen Zeitzone Gulf Standard Time oder GMT+04 ist. Um das Datum und die Uhrzeit in einem anderen Format wie UTC oder GMT oder yyyy/mm/dd oder dd/mm/yyyy auszudrucken, können Sie dieses Format mit speziellen Modifikatoren wie folgt angeben.

# to print the current date in dd/mm/yyyy format
date +%d-%m-%Y
# to print the current date and time in UTC
date -u
# to print the date and/or time as per IETF RFC3349
date --rfc-3339=seconds
# to print the date and time within a custom string
date +"Today is %D and the time is %I:%M:%S"

UNIX-Zeit

In den meisten UNIX-Systemen wird die aktuelle Zeit als die Zeit gespeichert, die seit einem bestimmten Moment verstrichen ist, um die Zeit zu vereinfachen, wobei die Zeit als lange Ganzzahl beibehalten wird, die als UNIX-Epoche bezeichnet wird. Der allgemein akzeptierte Zeitpunkt für alle UNIX-Systeme ist 1. Januar 1970, 00:00 Uhr. Dies wird als UNIX-Zeitstempel bezeichnet und von allen modernen UNIX/Linux-Systemen erkannt.

Wenn wir beispielsweise den UNIX-Zeitstempel für den 1. Januar 2022 finden möchten, können wir den Befehl Datum verwenden.

user@linux:~$ date -d"1 January 2022 12:00 AM" +%s
1640980800

date versucht, den String nach einem formatierten Datum und einer formatierten Uhrzeit zu parsen (oder nimmt, wenn kein Zeitstempel angegeben ist, die Zeit als 12:00 Uhr an) und gibt dann die UNIX-Zeitstempelform des angegebenen Datums und/oder der gegebenen Uhrzeit aus. 1640980800 ist die genaue Anzahl von Sekunden, die seit dem 1. Januar 1970, 00:00:00 Uhr vergangen sind.

Das Umgekehrte ist auch möglich, wobei wir einen UNIX-Zeitstempel nehmen und ihn in eine Datumsdarstellung umwandeln. Um unser ursprüngliches Datum wiederherzustellen, können wir den UNIX-Zeitstempel wie gezeigt übergeben, um ihn zu konvertieren.

user@linux:~$ date -d @1640980800
Sat 01 Jan 2022 12:00:00 AM +04

Wenn wir möchten, können wir auch andere Parameter hinzufügen, um das Datum auf eine bestimmte Weise zu formatieren, wie z. B. UTC oder GMT, wie oben erläutert.

Verwandter Artikel - Linux Date