Der date-Befehl zeigt das aktuelle Datum und die aktuelle Uhrzeit an und kann Datumsangaben formatieren oder berechnen. Er ist in jeder Linux- und Unix-Umgebung vorhanden und unverzichtbar für Log-Dateien, Backups und Skripte, die Zeitstempel benötigen.

Aktuelles Datum anzeigen

$ date
Mi 27. Aug 10:45:12 CEST 2026

Die Ausgabe folgt der Systemzeitzone. Mit date -u zeigt der Befehl die koordinierte Weltzeit (UTC) an — praktisch für Serververgleiche und Logs:

$ date -u
Mi 27. Aug 08:45:12 UTC 2026

Eigene Formate festlegen

Mit date +"FORMAT" lässt sich die Ausgabe frei gestalten. Die wichtigsten Platzhalter:

  • %Y — Jahr (z. B. 2026)
  • %m — Monat als Zahl (01–12)
  • %d — Tag im Monat (01–31)
  • %H — Stunde (00–23)
  • %M — Minute (00–59)
  • %s — Sekunden seit dem 1. Januar 1970 (Unix-Zeitstempel)
$ date +"%Y-%m-%d"
2026-08-27
$ date +%s
1785134712

Datumswerte berechnen

Mit date -d verarbeitet der Befehl beliebige Datumsangaben:

$ date -d "2026-01-01"
Do 1. Jan 00:00:00 CET 2026
$ date -d "yesterday"
Di 26. Aug 10:45:12 CEST 2026
$ date -d "+7 days"
Do 3. Sep 10:45:12 CEST 2026

Zeitstempel in Skripten nutzen

In Bash-Skripten wird date typischerweise einer Variable zugewiesen, damit Dateinamen eindeutig werden:

backup_name="backup_$(date +%Y%m%d_%H%M%S).tar.gz"
echo "$backup_name"

So entstehen Namen wie backup_20260827_104512.tar.gz — ein bewährtes Muster für tar und gzip-Backups.

Systemzeit und Zeitzonen

Für die Systemkonfiguration von Datum, Uhrzeit und Zeitzone ist auf modernen Systemen timedatectl zuständig, das Teil von systemctl und journalctl aus der systemd-Welt ist:

$ timedatectl
               Local time: Mi 2026-08-27 10:45:12 CEST
           Universal time: Mi 2026-08-27 08:45:12 UTC
                 Time zone: Europe/Berlin (CEST, +0200)
      System clock synchronized: yes

Verwandte Grundlagen: ps, top und kill für laufende Prozesse und df und du für Speicherplatz — auch dort spielen Zeitstempel und Laufzeiten eine Rolle.