Es ist immer hilfreich ein Datum oder einen Zeitstempel anders formatieren zu können um es z.B. an eine Datei anhängen zu können oder aber es dem Benutzer in einem besseren oder lokalisiertem Format anzeigen zu können. In der Bash ist das möglich mittels des date Befehls und dem Zusatz +. Dahinter kann nun das eigentliche Format angegeben werden wie die Beispiel zeigen:
1date
2# Liefert jetzt als Ergebnis: Do 26. Mär 09:15:40 CET 2020
3
4date +%d-%m-%y
5# Liefert jetzt als Ergebnis: 26-03-20
6
7# Mit Leerzeichen kann man das ganze in Anführungszeichen packen
8
9date '+%d %m %y'
10# Liefert jetzt als Ergebnis: 26 03 20
Mögliche Formate oder Optionen sind in der Tabelle aufgelistet
Format | Teil des Datums | Beschreibung | Ausgabe |
---|---|---|---|
date +%a | Wochentag | Kurzername des Wochentags. (Mo, Di, Mi, Do, Fr, Sa, So) | Do |
date +%A | Wochentag | Kompletter Name des Tags (Montag, Dienstag usw. | Donnerstag |
date +%b | Monat | Name des Monats in Kurzform (Jan, Feb, Mär) | Mär |
date +%B | Monat | Name des Monats in Langform (Januar, Februar) | März |
date +%d | Tag | Tag des Monats | 26 |
date +%D | MM/DD/YY | Derzeitiges Datum in der Form MM/DD/YYYY | 03/26/2020 |
date +%F | YYYY-MM-DD | Derzeitiges Datum in der Form YYYY-MM-DD | 2020-03-26 |
date +%H | Stunde | Stunde im 24-Stunden Format | 23 |
date +%I | Stunde | Stunde im 12-Stunden Format | 11 |
date +%j | Tag | Tag des Jahres | 153 |
date +%m | Monat | Nummer des Monats. 01 ist Januar. (01,02,03,05) | 03 |
date +%M | Minute | Minute von 00 bis 59 | 32 |
date +%S | Sekunde | Sekunde von 00 bis 59 | 23 |
date +%N | Nanosekunde | Nanosekunde (000000000..999999999) | 300231695 |
date +%T | HH:MM:SS | Zeit als HH:MM:SS formatiert. (Stunde ist im 24-Stunden Format | 09:32:15 |
date +%u | Tag der Woche | Tag der Woche 1 bis 7 (1 ist Montag) | 6 |
date +%U | Woche | Gibt die Nummer der Woche im Jahr zurück (00 - 53) | 12 |
date +%Y | Jahr | Gibt das komplette Jahr zurück | 2020 |
date +%Z | Zeitzone | Gibt die Zeitzone zurück. (GMT, IST, CET) | CET |