Version vom 5. Dezember 2016, 19:13 Uhr
}}
Vorlage:Lua-Hinweis
Vorlage:Tausendfach verwendet
Die Vorlage FormatDate formatiert ein in Anlehnung an ISO 8601 angegebenes Datum wie 2000-06-29 ({{#invoke:Vorlage:FormatDate|Execute}}), 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:SortDate, 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}}
|
Execute}}
|
M
|
"Jan.", "Feb.", "März", "Apr.", "Mai", "Juni", "Juli", "Aug.", "Sep.", "Okt.", "Nov.", "Dez."
|
{{FormatDate|2000-03-01|M}}
|
Execute}}
|
S
|
"Jan.", "Feb.", "Mrz.", "Apr.", "Mai", "Jun.", "Jul.", "Aug.", "Sep.", "Okt.", "Nov.", "Dez."
|
{{FormatDate|2000-03-01|S}}
|
Execute}}
|
- 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
Aufruf |
Ergebnis |
Anmerkung
|
{{FormatDate|2012-2-1}} |
Execute}} |
Langformat
|
{{FormatDate|2012-12-0}} |
Execute}} |
Ohne Tag
|
{{FormatDate|2012-12}} |
Execute}} |
Ohne Tag (alternativ)
|
{{FormatDate|2012-0-0}} |
Execute}} |
Nur die Jahreszahl
|
{{FormatDate|2012-0}} |
Execute}} |
Nur die Jahreszahl
|
{{FormatDate|2012}} |
Execute}} |
Nur die Jahreszahl
|
{{FormatDate|2012-0-256}} |
{{#invoke:Vorlage:FormatDate|Execute}} |
Der 12. September ist der 256. Tag eines Schaltjahres
|
{{FormatDate|2012-256}} |
{{#invoke:Vorlage:FormatDate|Execute}} |
Der 12. September ist der 256. Tag eines Schaltjahres
|
{{FormatDate|01}} |
Execute}} |
Nur Jahr (ohne Suffix und führende Nullen)
|
{{FormatDate|-01}} |
Execute}} |
Nur Jahr (mit Suffix, ohne führende Nullen)
|
{{FormatDate|--01}} |
Execute}} |
Nur Monat, nur Tag des Monats wird nicht unterstützt
|
{{FormatDate|---01}} |
Execute}} |
Tag und erster Monat, nur Tag des Monats wird nicht unterstützt
|
{{FormatDate|-12-24}} |
Execute}} |
Fehler, implizites Jahr wird so nicht unterstützt
|
{{FormatDate|--12-24}} |
Execute}} |
Nur Tag und Monat
|
{{FormatDate|0-12-24}} |
Execute}} |
Nur Tag und Monat
|
{{FormatDate|0000-12-24}} |
Execute}} |
Nur Tag und Monat, Jahr 0 wird nicht unterstützt
|
{{FormatDate|2012-W12-5}} |
Execute}} |
Fehlinterpretation: Kalenderwoche und Wochentag wird nicht unterstützt und nicht als Fehler erkannt
|
{{FormatDate|2012-02-01|L}} |
Execute}} |
"L" bewirkt das gleiche wie keine Formatangabe
|
{{FormatDate|2012-06-29|M}} |
Execute}} |
Mittleres Format
|
{{FormatDate|2000-07-28|S}} |
Execute}} |
Kurzformat
|
{{FormatDate|2000-08-0|M}} |
Execute}} |
Mittleres Format ohne Tagesangabe
|
{{FormatDate|2012-01-02|L|link}} |
Execute}} |
Langformat, verlinkt. Hier ist die explizite Angabe "L" sinnvoll, weil im Quelltext besser lesbar.
|
{{FormatDate|2012-01-02|L|link|nbsp}} |
Execute}} |
Langformat, verlinkt und mit nbsp (hier natürlich nicht sichtbar...)
|
{{FormatDate|2012-01-02|L|link|nbsp|AT=ja}} |
Execute}} |
Langformat, verlinkt, mit nbsp und "Jänner" statt "Januar".
|
{{FormatDate|0-01-02|link|AT=ja}} |
Execute}} |
Nur Tag und Monat, verlinkt und "Jänner" statt "Januar".
|
{{FormatDate|-333}} |
Execute}} |
vor Christus
|
{{FormatDate|-333-11}} |
Execute}} |
Schlacht bei Issos
|
Siehe auch