Zum Inhalt springen

Date: Unterschied zwischen den Versionen

Aus Foxwiki
Die 5 zuletzt angesehenen Seiten:  grep » Split » pgrep » BSI/200-3/Skript » date
K Textersetzung - „»“ durch „''“
K Textersetzung - „«“ durch „''“
Zeile 84: Zeile 84:


Bei der Anweisung --date=ZEICHENKETTE kann ein menschenlesbares Datum auf Englisch in einem ziemlich freien Format angegeben werden
Bei der Anweisung --date=ZEICHENKETTE kann ein menschenlesbares Datum auf Englisch in einem ziemlich freien Format angegeben werden
* beispielsweise ''Sun, 29 Feb 2004 16:21:42 -0800«, ''2004-02-29 16:21:42« oder sogar ''next Thursday« (nächster Donnerstag)
* beispielsweise ''Sun, 29 Feb 2004 16:21:42 -0800'', ''2004-02-29 16:21:42'' oder sogar ''next Thursday'' (nächster Donnerstag)
* Eine Datumszeichenkette darf Teile enthalten, die das Kalenderdatum angeben, die Tageszeit, Zeitzone, den Tag der Woche, eine relative Zeit, ein relatives Datum sowie Zahlen.  
* Eine Datumszeichenkette darf Teile enthalten, die das Kalenderdatum angeben, die Tageszeit, Zeitzone, den Tag der Woche, eine relative Zeit, ein relatives Datum sowie Zahlen.  
* Eine leere Zeichenkette bedeutet den Anfang des aktuellen Tages.  
* Eine leere Zeichenkette bedeutet den Anfang des aktuellen Tages.  
Zeile 93: Zeile 93:
! Unix !! GNU !! Beschreibung
! Unix !! GNU !! Beschreibung
|-
|-
| -d || --date=ZEICHENKETTE || Die in ZEICHENKETTE beschriebene Zeit anzeigen, nicht ''jetzt«
| -d || --date=ZEICHENKETTE || Die in ZEICHENKETTE beschriebene Zeit anzeigen, nicht ''jetzt''
|-
|-
| || --debug || kommentiert das ausgewertete Datum und warnt über fragwürdige Verwendungen nach Stderr
| || --debug || kommentiert das ausgewertete Datum und warnt über fragwürdige Verwendungen nach Stderr
Zeile 99: Zeile 99:
| -f || --file=DATUMSDATEI || Wie --date; jeweils einmal für jede Zeile in DATUMSDATEI
| -f || --file=DATUMSDATEI || Wie --date; jeweils einmal für jede Zeile in DATUMSDATEI
|-
|-
| -I[FMT] || --iso-8601[=FMT] || Datum und Zeit im ISO-8601-Format anzeigen. FMT=''date« zur Ausgabe nur des Datums (Voreinstellung), ''hours«, ''minutes«, ''seconds« oder ''ns« für Datum und Zeit mit angegebener Genauigkeit. Beispiel: 2006-08-14T02:34:56-06:00
| -I[FMT] || --iso-8601[=FMT] || Datum und Zeit im ISO-8601-Format anzeigen. FMT=''date'' zur Ausgabe nur des Datums (Voreinstellung), ''hours'', ''minutes'', ''seconds'' oder ''ns'' für Datum und Zeit mit angegebener Genauigkeit. Beispiel: 2006-08-14T02:34:56-06:00
|-
|-
| -R || --rfc-email || Datum und Zeit im RFC-5322-Format anzeigen. Beispiel: Mon, 14 Aug 2006 02:34:56 -0600
| -R || --rfc-email || Datum und Zeit im RFC-5322-Format anzeigen. Beispiel: Mon, 14 Aug 2006 02:34:56 -0600
|-
|-
| || --rfc-3339=FMT || Datum/Zeit im RFC-3339-Format anzeigen. FMT=''date«, ''seconds« oder ''ns« für Datum und Zeit mit angegebener Genauigkeit. Beispiel: 2006-08-14 02:34:56-06:00
| || --rfc-3339=FMT || Datum/Zeit im RFC-3339-Format anzeigen. FMT=''date'', ''seconds'' oder ''ns'' für Datum und Zeit mit angegebener Genauigkeit. Beispiel: 2006-08-14 02:34:56-06:00
|-
|-
| -r || --reference=DATEI || Zeit der letzten Änderung von DATEI anzeigen
| -r || --reference=DATEI || Zeit der letzten Änderung von DATEI anzeigen
Zeile 121: Zeile 121:
! Option !! Beschreibung
! Option !! Beschreibung
|-
|-
| %% || Ein Prozentzeichen (''%«)
| %% || Ein Prozentzeichen (''%'')
|-
|-
| %a || Abgekürzter Name des Wochentags der Locale (z. B. So)
| %a || Abgekürzter Name des Wochentags der Locale (z. B. So)
Zeile 177: Zeile 177:
| %R || Stunden und Minuten im 24‐Stunden‐Format; dasselbe wie %H:%M
| %R || Stunden und Minuten im 24‐Stunden‐Format; dasselbe wie %H:%M
|-
|-
| %s || Sekunden seit ''1970-01-01 00:00:00 UTC«
| %s || Sekunden seit ''1970-01-01 00:00:00 UTC''
|-
|-
| %S || Sekunde (00..60)
| %S || Sekunde (00..60)
Zeile 209: Zeile 209:
| %::z || +hh:mm:ss numerische Zeitzone (z. B. -04:00:00)
| %::z || +hh:mm:ss numerische Zeitzone (z. B. -04:00:00)
|-
|-
| %:::z || Numerische Zeitzone, die soviele '':« enthält, wie zur Präzision notwendig sind (z. B. -04, +05:30)
| %:::z || Numerische Zeitzone, die soviele '':'' enthält, wie zur Präzision notwendig sind (z. B. -04, +05:30)
|-
|-
| %Z || Alphabetische Zeitzonenabkürzung (z. B. EDT)
| %Z || Alphabetische Zeitzonenabkürzung (z. B. EDT)
|}
|}


Standardmäßig füllt date numerische Felder mit Nullen auf. Die folgenden optionalen Schalter können ''%« folgen:
Standardmäßig füllt date numerische Felder mit Nullen auf. Die folgenden optionalen Schalter können ''%'' folgen:


{| class="wikitable sortable"
{| class="wikitable sortable"
Zeile 226: Zeile 226:
| 0 (Null) || Mit Nullen auffüllen
| 0 (Null) || Mit Nullen auffüllen
|-
|-
| + || Mit Nullen auffüllen und ''+« vor zukünftige Jahre mit >4 Ziffern setzen
| + || Mit Nullen auffüllen und ''+'' vor zukünftige Jahre mit >4 Ziffern setzen
|-
|-
| ^ || Großbuchstaben benutzen, wenn möglich
| ^ || Großbuchstaben benutzen, wenn möglich
Zeile 233: Zeile 233:
|}
|}


Nach jedem Schalter kommt eine optionale Feldbreite als Dezimalzahl und dann ein optionaler Modifikator, der entweder ''oder ''ist. Bei ''wird die alternative Repräsentation der Locale verwendet, falls vorhanden. Bei ''werden die alternativen numerischen Symbole der Locale verwendet, falls vorhanden.
Nach jedem Schalter kommt eine optionale Feldbreite als Dezimalzahl und dann ein optionaler Modifikator, der entweder ''E'' oder ''O'' ist. Bei ''E'' wird die alternative Repräsentation der Locale verwendet, falls vorhanden. Bei ''O'' werden die alternativen numerischen Symbole der Locale verwendet, falls vorhanden.


=== Argumente ===
=== Argumente ===

Version vom 31. März 2025, 12:21 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

siehe Kategorie:Coreutils

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 und Hardware-Uhr

Hardware-Uhr

Schaltkreis auf dem Mainboard, der wie eine Quarz-Uhr funktioniert

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 System-Uhr 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?

Umstellung Winter-/Sommerzeit

Aufruf

$ date [OPTION]… [+FORMAT]
$ date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
date MMTThhmm

DATUMSZEICHENKETTE

MM Monat
TT Tag
hh Stunden
mm Minuten
# oder auch in der für USA üblichen Schreibweise:
date -s "12/31 23:59"

Bei der Anweisung --date=ZEICHENKETTE kann ein menschenlesbares Datum auf Englisch in einem ziemlich freien Format angegeben werden

  • beispielsweise Sun, 29 Feb 2004 16:21:42 -0800, 2004-02-29 16:21:42 oder sogar next Thursday (nächster Donnerstag)
  • Eine Datumszeichenkette darf Teile enthalten, die das Kalenderdatum angeben, die Tageszeit, Zeitzone, den Tag der Woche, eine relative Zeit, ein relatives Datum sowie Zahlen.
  • Eine leere Zeichenkette bedeutet den Anfang des aktuellen Tages.
  • Das Format der Datumszeichenkette ist komplexer, als es hier in einfachen Worten beschrieben werden kann. In der Info-Dokumentation ist es vollständig erklärt.

Optionen

Unix GNU Beschreibung
-d --date=ZEICHENKETTE Die in ZEICHENKETTE beschriebene Zeit anzeigen, nicht jetzt
--debug kommentiert das ausgewertete Datum und warnt über fragwürdige Verwendungen nach Stderr
-f --file=DATUMSDATEI Wie --date; jeweils einmal für jede Zeile in DATUMSDATEI
-I[FMT] --iso-8601[=FMT] Datum und Zeit im ISO-8601-Format anzeigen. FMT=date zur Ausgabe nur des Datums (Voreinstellung), hours, minutes, seconds oder ns für Datum und Zeit mit angegebener Genauigkeit. Beispiel: 2006-08-14T02:34:56-06:00
-R --rfc-email Datum und Zeit im RFC-5322-Format anzeigen. Beispiel: Mon, 14 Aug 2006 02:34:56 -0600
--rfc-3339=FMT Datum/Zeit im RFC-3339-Format anzeigen. FMT=date, seconds oder ns für Datum und Zeit mit angegebener Genauigkeit. Beispiel: 2006-08-14 02:34:56-06:00
-r --reference=DATEI Zeit der letzten Änderung von DATEI anzeigen
-s --set=ZEICHENKETTE Die Zeit wie in ZEICHENKETTE beschrieben setzen
-u, --utc --universal Koordinierte Weltzeit (UTC) anzeigen oder setzen
--help zeigt Hilfeinformationen an und beendet das Programm.
--version gibt Versionsinformationen aus und beendet das Programm.

FORMAT bestimmt die Ausgabe. Interpretierte Sequenzen sind:

Option Beschreibung
%% Ein Prozentzeichen (%)
%a Abgekürzter Name des Wochentags der Locale (z. B. So)
%A Voller Name des Wochentags der Locale (z. B. Sonntag)
%b Abgekürzter Monatsname der Locale (z. B. Jan)
%B Voller Monatsname der Locale (z. B. Januar)
%c Datum und Zeit der Locale (z. B. Do 03 Mär 2005 23:05:25 CET)
%C Jahrhundert; wie %Y, aber ohne die letzten beiden Stellen (z. B. 20)
%d Tag des Monats (z. B. 01)
%D Amerikanisches Datumsformat; dasselbe wie %m/%d/%y
%e Tag des Monats, mit Leerzeichen aufgefüllt; dasselbe wie %_d
%F Komplettes Datum; dasselbe wie %+4Y-%m-%d
%g Die letzten beiden Stellen des Jahres der ISO‐Wochennummer (siehe %G)
%G Jahr der ISO‐Wochennummer (siehe %V); normalerweise nur mit %V sinnvoll
%h Dasselbe wie %b
%H Stunde (00..23)
%I Stunde (01..12)
%j Tag des Jahres (001..366)
%k Stunde, mit Leerzeichen aufgefüllt ( 0..23); dasselbe wie %_H
%l Stunde, mit Leerzeichen aufgefüllt ( 1..12); dasselbe wie %_I
%m Monat (01..12)
%M Minute (00..59)
%n Ein Zeilenumbruch
%N Nanosekunden (000000000..999999999)
%p Das Äquivalent von AM oder PM der Locale; leer, wenn unbekannt
%P Wie %p, aber in Kleinbuchstaben
%q Quartal des Jahres (1..4)
%r Zeit im 12‐Stunden‐Format der Locale (z. B. 11:11:04)
%R Stunden und Minuten im 24‐Stunden‐Format; dasselbe wie %H:%M
%s Sekunden seit 1970-01-01 00:00:00 UTC
%S Sekunde (00..60)
%t Ein Tabulator
%T Zeit; dasselbe wie %H:%M:%S
%u Tag der Woche (1..7); 1 steht für Montag
%U Wochennummer des Jahres, mit Sonntag als erstem Tag der Woche (00..53)
%V ISO‐Wochennummer, mit Montag als erstem Tag der Woche (01..53)
%w Tag der Woche (0..6); 0 steht für Sonntag
%W Wochennummer des Jahres, mit Montag als erstem Tag der Woche (00..53)
%x Datumsrepräsentation der Locale (z. B. 31.12.1999)
%X Zeitrepräsentation der Locale (z. B. 23:13:48)
%y Die letzten zwei Ziffern des Jahres (00..99)
%Y Jahr
%z +hhmm numerische Zeitzone (z. B. -0400)
%:z +hh:mm numerische Zeitzone (z. B. -04:00)
%::z +hh:mm:ss numerische Zeitzone (z. B. -04:00:00)
%:::z Numerische Zeitzone, die soviele : enthält, wie zur Präzision notwendig sind (z. B. -04, +05:30)
%Z Alphabetische Zeitzonenabkürzung (z. B. EDT)

Standardmäßig füllt date numerische Felder mit Nullen auf. Die folgenden optionalen Schalter können % folgen:

Option Beschreibung
- (Minus) Feld nicht auffüllen
_ (Unterstrich) Mit Leerzeichen auffüllen
0 (Null) Mit Nullen auffüllen
+ Mit Nullen auffüllen und + vor zukünftige Jahre mit >4 Ziffern setzen
^ Großbuchstaben benutzen, wenn möglich
# Groß- und Kleinbuchstaben vertauschen, wenn möglich

Nach jedem Schalter kommt eine optionale Feldbreite als Dezimalzahl und dann ein optionaler Modifikator, der entweder E oder O ist. Bei E wird die alternative Repräsentation der Locale verwendet, falls vorhanden. Bei O werden die alternativen numerischen Symbole der Locale verwendet, falls vorhanden.

Argumente

Umgebung

Rückgabewert

Konfiguration

Dateien

Sicherheit

Dokumentation

RFC

Man-Page

Info-Pages

  1. Vollständige Dokumentation unter: <https://www.gnu.org/software/coreutils/date>
  2. lokal verfügbar mit: info '(coreutils) date invocation'

Siehe auch

Links

Projekt

Weblinks

  1. https://linuxwiki.de/DatumUndUhrzeit