date

Aus Mikiwiki
Zur Navigation springen Zur Suche springen

Der Shell-Befehl date zeigt die Systemzeit (Software-Zeit) an oder verändert sie.

Unter SUSE Linux kann die Uhrzeit auch über YAST eingestellt werden.

Per Voreinstellung wird die Ausgabe in der von der Umgebungsvariable "LANG" definierten Sprache angezeigt. Das Befehlsverhalten wird wesentlich durch folgende Variable bestimmt.

  • $LC_TIME setzt die landesspezifische Einstellung für die Datums- und Zeitdarstellung (die möglichen Werte erfährt man mit locale -a)
  • $TZ [engl. time zone] setzt die Einstellung der Zeitzone. Die möglichen Zeitzonen finden sich im Verzeichnis "/usr/share/zoneinfo".

Optionen

Anzeigeparameter
%S Sekunde als zweistellige Zahl (00-59)
%s Sekunden seit dem 1. Januar 1970 (Unix-Zeit)
%M Minute als zweistellige Zahl (00-59)
%H Stunde als zweistellige Zahl (00-23)
%A Tag der Woche in Langform (Montag, Dienstag, usw.)
%u Tag der Woche als Zahl (1-7)
%d Tag im Monat als zweistellige Zahl (01-31)
%e Tag im Monat als einstellige Zahl (1-31)
%j Tag im Jahr als dreistellige Zahl (1-366)
%m Monat als zweistellige Zahl (01-12)
%B Monat in Langform (Januar, Februar, usw.)
%y Jahr als zweistellige Zahl (00-99)
%Y vollständige Jahreszahl
%Z aktuelle Zeitzone
%n Zeilenende
%t Tabulator
%% Prozentzeichen
Relative Zeitangaben
yesterday gestern
today heute
tomorrow morgen
now jetzt
sec(s)/seconds(s) Sekunde(n)
min(s)/minute(s) Minute(n)
hour(s) Stunde(n)
day(s) Tag(e)
week(s) Woche(n)
month(s) Monat(e)
year(s) Jahr(e)

Verwendung

Anzeige der Infoseite zu date.

$ info coreutils date

Anzeige der Infoseite zu date im Dateimanager Konqueror.

$ info:/coreutils/Date input formats

Anzeige der Systemzeit

Anzeige des aktuellen Datums mit Wochentag, Monat, Tag des Monats, Uhrzeit, Zeitzone und Jahr.

$ date

Anzeige des aktuellen Datums mit Wochentag, Monat, Tag des Monats, Uhrzeit, Zeitzone und Jahr, aber in Englisch anstatt in der über die Umgebungsvariable LANG eingestellten Sprache.

$ LC_TIME=C date

Anzeige des aktuellen Datums der Zeitzone von Moskau mit Wochentag, Monat, Tag des Monats, Uhrzeit, Zeitzone und Jahr.

$ TZ=Europe/Moscow date

Anzeige des aktuellen Datums in formatierter Form.

$ date +"Heute ist der: %d.%m.%y"
Heute ist der: 02.04.03

Anzeige des Vortagesdatums.

$ date -d '1 day ago' +%d.%m.%Y
bzw.
$ date -d yesterday

Anzeige des Folgetagdatums.

$ date -d '1 day next' +%d.%m.%Y
bzw.
$ date -d tomorrow

Anzeige eines relativen Zeitpunkts.

$ date -d '+3 days -5 hours'

Erstellung einer Sicherung mit tar und bzip2, deren Dateinamen automatisch Jahr, Monat, Tag, Stunde und Minute enthält.

$ tar cvfj backup.$(date +%Y%m%d-%H%M).tar.bz2 *

Anzahl der Tage seit/bis zum angegebenen Datum. Das Ergebnis muss zur nächsten Ganzzahl ab- bzw. aufgerundet werden.

$ echo "$(($(date -d '09 June 2007' +%s)-$(date +%s))) / 86400" | bc -l

Veränderung der Systemzeit (als Benutzer "root")

Beim Verändern der Systemzeit ist zu beachten, dass anschliessend mit hwclock auch die Hardware-Zeit angepasst wird.

Ändern der aktuellen Uhrzeit (hier auf 11:42:00).

# date -s 11:42:00

Ändern des Datums (hier der 3. Januar 20 Uhr 44 des aktuellen Jahrs). Das Jahr kann mit zwei oder vier Stellen angehängt werden.

# date 01032044

Einstellen der Systemzeit nach der Hardware-Zeit.

# hwclock -s

Weblinks