date: Unterschied zwischen den Versionen

Aus Mikiwiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Der [[Shell-Befehl]] <b>date</b> zeigt die [[Systemzeit]] (Software-Zeit) an oder verändert sie.
Der [[Shell-Befehl]] <b>date</b> 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.
Per Voreinstellung wird die Ausgabe in der von der Umgebungsvariable "[[LANG]]" definierten Sprache angezeigt. Das Befehlsverhalten wird wesentlich durch folgende Variable bestimmt.
* <tt>$LC_TIME </tt>setzt die landesspezifische Einstellung für die Datums- und Zeitdarstellung (die möglichen Werte erfährt man mit<tt> locale -a</tt>)
* <tt>$LC_TIME </tt>setzt die landesspezifische Einstellung für die Datums- und Zeitdarstellung (die möglichen Werte zeigt "locale -a")
* <tt>$TZ </tt>[engl. time zone] setzt die Einstellung der Zeitzone. Die möglichen Zeitzonen finden sich im Verzeichnis "/usr/share/zoneinfo".
* <tt>$TZ </tt>(engl. time zone) setzt die Einstellung der Zeitzone. Die möglichen Zeitzonen finden sich im Verzeichnis "/usr/share/zoneinfo".


== Optionen ==
== Optionen ==
Zeile 15: Zeile 13:
! colspan=2 | Anzeigeparameter
! colspan=2 | Anzeigeparameter
|-
|-
| width=10% | <tt>%S</tt> || Sekunde als zweistellige Zahl (00-59)
| width=10% | <tt>%F</tt> || Vollständiges Datum der Art "JJJJ-MM-TT" (entspricht also "%Y-%m-%d")
|-
| <tt>%S</tt> || Sekunde als zweistellige Zahl (00-59)
|-
|-
| <tt>%s</tt> || Sekunden seit dem 1. Januar 1970 (Unix-Zeit)
| <tt>%s</tt> || Sekunden seit dem 1. Januar 1970 (Unix-Zeit)
Zeile 107: Zeile 107:


  $ <b>date +"Heute ist der: %d.%m.%y"</b>
  $ <b>date +"Heute ist der: %d.%m.%y"</b>
  Heute ist der: 02.04.03</tt>
  Heute ist der: 02.04.03


Anzeige des Vortagesdatums.
Anzeige des Vortagesdatums.
Zeile 117: Zeile 117:
Anzeige des Folgetagdatums.
Anzeige des Folgetagdatums.


$ <b>date -d '+1 day' +%d.%m.%Y</b>
bzw.
  $ <b>date -d '1 day next' +%d.%m.%Y</b>
  $ <b>date -d '1 day next' +%d.%m.%Y</b>
  bzw.
  bzw.
Zeile 124: Zeile 126:


  $ <b>date -d '+3 days -5 hours'</b>
  $ <b>date -d '+3 days -5 hours'</b>
Anzeige des Tags innerhalb des Jahres für ein bestimmtes Datum.
$ <b>date -d '15 Sept 2015' '+%j'</b>
bzw.
$ <b>date -d '2015-09-15' '+%j'</b>
258


Erstellung einer Sicherung mit [[tar]] und [[bzip2]], deren Dateinamen automatisch Jahr, Monat, Tag, Stunde und Minute enthält.
Erstellung einer Sicherung mit [[tar]] und [[bzip2]], deren Dateinamen automatisch Jahr, Monat, Tag, Stunde und Minute enthält.
Zeile 151: Zeile 160:
== Weblinks ==
== Weblinks ==


* [http://www.jan-trippler.de/quickies/date.html Linux-Quickies: Datum und Zeit]
{{Weblinks}}
{{url|DE|Jan Trippler|ger|http://www.jan-trippler.de/bin/q_show_art_list.php?lang{{=}}de&method{{=}}topic&item{{=}}date_time|Artikel zum Thema "Datum und Zeit"}}
{{Fuss}}




{{cat|Shell-Befehl}}
{{cat|Shell-Befehl}}
{{cat|Systemzeit}}
{{cat|Zeit}}

Aktuelle Version vom 2. Juni 2019, 22:23 Uhr

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

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 zeigt "locale -a")
  • $TZ (engl. time zone) setzt die Einstellung der Zeitzone. Die möglichen Zeitzonen finden sich im Verzeichnis "/usr/share/zoneinfo".

Optionen

Anzeigeparameter
%F Vollständiges Datum der Art "JJJJ-MM-TT" (entspricht also "%Y-%m-%d")
%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' +%d.%m.%Y
bzw.
$ date -d '1 day next' +%d.%m.%Y
bzw.
$ date -d tomorrow

Anzeige eines relativen Zeitpunkts.

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

Anzeige des Tags innerhalb des Jahres für ein bestimmtes Datum.

$ date -d '15 Sept 2015' '+%j'
bzw.
$ date -d '2015-09-15' '+%j'
258

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

Herausgeber Sprache Webseitentitel Anmerkungen
Jan Trippler ger Artikel zum Thema "Datum und Zeit"wbm