Die Vorlage FormatDate formatiert ein in Anlehnung an ISO 8601 angegebenes Datum wie 2000-06-29 (29. Juni 2000), etwa zur Verwendung in Listen oder Infoboxen. Dabei wird der volle oder ein abgekürzter deutscher Monatsname erzeugt, der volle Name ist Standard. Im Gegensatz zur Parser-Funktion #time kann diese Vorlage alle Daten verarbeiten, auch Daten vor dem Jahr 1. Durch Angabe einer 0 für Monat bzw. Tag kann eine Ausgabe ohne Monats-/Tagesangabe erzielt werden. Zusätzliche Parameter bewirken Verlinkung oder durchgängige Verwendung von geschützten Leerzeichen ( ).
Zur Verwendung in sortierbaren Tabellen gibt es die fast gleichwertige Vorlage:DatumZelle, die neben der Formatierung auch noch für die richtige Sortierung sorgt.
Verwendung
Die Syntax für Jahre vor Chr. wurde geändert! Jetzt gilt die kalendarische Zuordnung: -N = N v. Chr., statt bisher N+1 v. Chr.
Kopiervorlagen
- Syntax
{{FormatDate|<ISO-Datum>|<Format>|<Extra1>|<Extra2>|AT=(ja{{!}}|)}}
{{FormatDate| -- |L| }}
{{FormatDate| -- |M| }}
{{FormatDate| -- |S| }}
Parameter
- Erster Parameter (<ISO-Datum>)
- Datum in einem ISO-Format wie beispielsweise
JJJJ-MM-TT
, also z. B. 2013-09-03
. Tag und Monat können auch ohne führende Null angegeben werden, also JJJJ-M-T
. Hierbei ist ausschließlich der ASCII-Strich „-“ erlaubt. Jahre vor 1 n. Chr. werden mit Minuszeichen angegeben. Dabei bedeutet z.B. „-333“ soviel wie 333 v. Chr. Will man den Tag weglassen, dann kann man entweder als Tagesdatum eine Null angeben oder den dritten Teil ganz weglassen. Will man auch den Monat weglassen, so kann dort ebenfalls eine Null angegeben werden oder man gibt nur die Jahreszahl an. Sollen nur Tag und Monat erscheinen, so wird als Jahr die Null angegeben (Ein Jahr Null gibt es nicht). Zulässig sind also folgende Formate:
Format
|
Ausgabe
|
JJJJ-MM-TT
JJJJ-MM-T
JJJJ-M-TT
JJJJ-M-T
|
Tag, Monat und Jahr
|
|
Monat und Jahr
|
|
nur das Jahr
|
JJJJ-0-TTT
JJJJ-0-TT
JJJJ-0-T
|
Tag, Monat und Jahr des „TTT-ten“ Tages im Jahr.
|
- Zweiter Parameter (<Format>)
- Damit wird das Ausgabeformat des Monats festgelegt. Mögliche Werte sind:
- „L“ oder leer: Monatsname wird ausgeschrieben.
- „M“: Monatsname wird auf vier Zeichen abgekürzt.
- „S“: Monatsname wird auf drei Zeichen abgekürzt.
Formatcode |
Form der Monatsangabe |
Beispiel |
Resultat
|
L |
Januar, Februar, ...
|
{{FormatDate|2000-03-01|L}}
|
1. März 2000
|
M
|
„Jan.“, „Feb.“, „März“, „Apr.“, „Mai“, „Juni“, „Juli“, „Aug.“, „Sep.“, „Okt.“, „Nov.“, „Dez.“
|
{{FormatDate|2000-03-01|M}}
|
1. März 2000
|
S
|
„Jan.“, „Feb.“, „Mrz.“, „Apr.“, „Mai“, „Jun.“, „Jul.“, „Aug.“, „Sep.“, „Okt.“, „Nov.“, „Dez.“
|
{{FormatDate|2000-03-01|S}}
|
1. Mrz. 2000
|
- Dritter und vierter Standardparameter
- Dieser kann die Werte „nbsp“ und/oder „link“ haben. In diesem Fall sollte Parameter 2 für das Langformat explizit angegeben werden.
Parameter |
Wirkung |
Anmerkung
|
nbsp
|
zwischen Monat und Jahr wird ein geschütztes Leerzeichen ( ) gesetzt
|
Standard ist an dieser Stelle ein normales Leerzeichen, überall sonst wird immer ein geschütztes Leerzeichen erzeugt.
|
link
|
Tag und Monat sowie die Jahreszahl werden verlinkt.
|
- Benannter Parameter AT
- Mit
AT=ja
wird Jänner anstatt Januar geschrieben.
Beispiele
Gültige Angaben
Aufruf |
Ergebnis |
Anmerkung
|
{{FormatDate|2012-2-1}} |
1. Februar 2012 |
Langformat
|
{{FormatDate|2012-12-0}} |
Dezember 2012 |
Ohne Tag
|
{{FormatDate|2012-12}} |
Dezember 2012 |
Ohne Tag (alternativ)
|
{{FormatDate|2012-0-0}} |
2012 |
Nur die Jahreszahl
|
{{FormatDate|2012-0}} |
2012 |
Nur die Jahreszahl
|
{{FormatDate|2012}} |
2012 |
Nur die Jahreszahl
|
{{FormatDate|745}} |
745 |
Nur die Jahreszahl (dreistellig)
|
{{FormatDate|2012-0-256}} |
12. September 2012 |
Der 12. September ist der 256. Tag eines Schaltjahres
|
{{FormatDate|2012-256}} |
12. September 2012 |
Der 12. September ist der 256. Tag eines Schaltjahres
|
{{FormatDate|01}} |
1 |
Nur Jahr (ohne Suffix und führende Nullen)
|
{{FormatDate|-01}} |
1 v. Chr. |
Nur Jahr (mit Suffix, ohne führende Nullen)
|
{{FormatDate|--12-24}} |
24. Dezember |
Nur Tag und Monat
|
{{FormatDate|0-12-24}} |
24. Dezember |
Nur Tag und Monat
|
{{FormatDate|2012-02-01|L}} |
1. Februar 2012 |
„L“ bewirkt das gleiche wie keine Formatangabe
|
{{FormatDate|2012-06-29|M}} |
29. Juni 2000 |
Mittleres Format
|
{{FormatDate|2000-07-28|S}} |
28. Jul. 2000 |
Kurzformat
|
{{FormatDate|2000-08-0|M}} |
Aug. 2000 |
Mittleres Format ohne Tagesangabe
|
{{FormatDate|2012-01-02|L|link}} |
2. Januar 2012 |
Langformat, verlinkt. Hier ist die explizite Angabe „L“ sinnvoll, weil im Quelltext besser lesbar.
|
{{FormatDate|2012-01-02|L|link|nbsp}} |
2. Januar 2012 |
Langformat, verlinkt und mit nbsp (hier natürlich nicht sichtbar...)
|
{{FormatDate|2012-01-02|L|link|nbsp|AT=ja}} |
2. Jänner 2012 |
Langformat, verlinkt, mit nbsp und „Jänner“ statt „Januar“.
|
{{FormatDate|0-01-02|link|AT=ja}} |
2. Jänner |
Nur Tag und Monat, verlinkt und „Jänner“ statt „Januar“.
|
{{FormatDate|-333}} |
333 v. Chr. |
vor Christus
|
{{FormatDate|-333-11}} |
November 333 v. Chr. |
Schlacht bei Issos
|
Fehlerhafte Angaben
Aufruf |
Ergebnis |
Anmerkung
|
{{FormatDate|--01}} |
Januar |
Fehlinterpretation: Nur Monat, nur Tag des Monats wird nicht unterstützt
|
{{FormatDate|---01}} |
1. Januar |
Fehlinterpretation: Tag und erster Monat, nur Tag des Monats wird nicht unterstützt
|
{{FormatDate|0000-12-24}} |
24. Dezember |
Fehlinterpretation: Nur Tag und Monat, Jahr 0 wird nicht unterstützt
|
{{FormatDate|2012-W12-5}} |
5. Januar 2012 |
Fehlinterpretation: Kalenderwoche und Wochentag wird nicht unterstützt und nicht als Fehler erkannt
|
{{FormatDate|-12-24}} |
Vorlage:FormatDate/Wartung/Error |
Fehler, implizites Jahr wird so nicht unterstützt
|
{{FormatDate|2012-13-02}} |
Vorlage:FormatDate/Wartung/Error |
Fehler: ungültiger Monat angegeben
|
{{FormatDate|2012-01-33}} |
Vorlage:FormatDate/Wartung/Error |
Fehler: ungültiger Tag angegeben
|
{{FormatDate|00-00-00}} |
Vorlage:FormatDate/Wartung/Error |
Fehler: Kein Tag, Monat und Jahr angegeben
|
{{FormatDate|28. Mai 2012}} |
Vorlage:FormatDate/Wartung/Error |
Fehler: kein ISO-Datum
|
Siehe auch