Vorlage:FormatDate/Doku

Aus AGKFF
Zur Navigation springen Zur Suche springen
Dokumentations-Unterseite Diese Seite ist die Dokumentations-Unterseite der Vorlage:FormatDate.

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.

Aufruf (Normalfall)

  • {{FormatDate|Datum}}
  • {{FormatDate|Datum|Formatcode}}

Dabei muss „Datum“ in der Form „jjjj-mm-tt“ oder „jjjj-m-t“ angegeben werden, also z. B. „1881-11-03“ für den {{#invoke:Vorlage:FormatDate|Execute}}. Die Angabe in der Form „jjjj-mm-0“ oder „jjjj-mm-00“ unterdrückt die Angabe des Tages für Datumsangaben, die nur monatsgenau sind. Die Angabe in der Form „jjjj-0-0“ oder „jjjj-00-00“ gibt nur das Jahr aus. Angaben mit führendem (Bindestrich‑)Minus wie „-33-07-11“ bezeichnen Daten vor dem Jahr {{#invoke:Vorlage:FormatDate|Execute}}, hier den {{#invoke:Vorlage:FormatDate|Execute}} (nicht den {{#invoke:Vorlage:FormatDate|Execute}}!). (Als Trennzeichen ist ausschließlich das Zeichen „-“, das Bindestrich‑Minus, zu verwenden, keine andere Variante eines Striches wie Gedankenstrich, „typografisch korrektes“ Minuszeichen, usw. Das gleiche gilt, abweichend von ISO 8601, für die eventuell einleitende Minus-Angabe.).

Als zweiter Parameter kann ein Formatcode angegeben werden: „F“ (= ‚full‘) oder „M“ (= ‚month‘, dreibuchstabig) wie bei #time, zusätzlich „S“ (= ‚short‘, vierbuchstabig/drei mit «.»). „F“ ist Standard, kann also weggelassen werden:

Format-
code
Form der Monatsangabe Beispiel Resultat
ohne Januar Februar ... {{FormatDate|2000-02-29}}
{{FormatDate|2000-03-01}}
Execute}}
{{#invoke:Vorlage:FormatDate|Execute}}
F Januar Februar ... {{FormatDate|2000-02-29|F}}
{{FormatDate|2000-03-01|F}}
Execute}}
{{#invoke:Vorlage:FormatDate|Execute}}
S Jan. Feb. Mrz Apr. Mai Jun. Jul. Aug. ... {{FormatDate|2000-02-29|M}}
{{FormatDate|2000-03-01|M}}
Execute}}
{{#invoke:Vorlage:FormatDate|Execute}}
M Jan. Feb. März Apr. Mai Juni Juli Aug. ... {{FormatDate|2000-02-29|S}}
{{FormatDate|2000-03-01|S}}
Execute}}
{{#invoke:Vorlage:FormatDate|Execute}}

Aufruf mit Zusatzparametern

Hinter dem Datum und evtl. dem Formatcode sind zwei weitere Parameter möglich:

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.
sp zwischen Monat und Jahr wird ein normales Leerzeichen gesetzt
link das Datum wird verlinkt
AT=ja Jänner anstatt Januar

Beispiele

Aufruf Ergebnis Parserfunktion zum Vergleich Ergebnis
{{FormatDate|1-1-1}} Execute}} nicht möglich
{{FormatDate|1234-2-28}} Execute}} {{#time:j. F Y|1234-2-28}} 28. Februar 1234
{{FormatDate|1881-3-1}} Execute}} {{#time:j. F Y|1881-3-1}} 1. März 1881
{{FormatDate|1881-04-01}} Execute}} {{#time:j. F Y|1881-04-01}} 1. April 1881
{{FormatDate|2000-05-30}} Execute}} {{#time:j. F Y|2000-05-30}} 30. Mai 2000
{{FormatDate|2000-06-29|M}} Execute}} {{#time:j. M Y|2000-06-29}} 29. Jun. 2000
{{FormatDate|2000-07-28|S}} Execute}} nicht möglich
{{FormatDate|2000-08-27|F}} Execute}} {{#time:j. F Y|2000-08-27}} 27. August 2000
{{FormatDate|2000-9-0}} Execute}} {{#time:F Y|2000-9}} September 2000
{{FormatDate|2000-10-0}} Execute}} {{#time:F Y|2000-10}} Oktober 2000
{{FormatDate|2000-11-00}} Execute}} {{#time:F Y|2000-11}} November 2000
{{FormatDate|2000-12-00}} Execute}} {{#time:F Y|2000-12}} Dezember 2000
{{FormatDate|2000-0-0}} Execute}} {{#time:Y|2000}} 2000
{{FormatDate|2000-9-9|link}} Execute}} {{#time:[[j. F]] [[Y]]|2000-9-9}} 9. September 2000
{{FormatDate|2000-9-0|link}} Execute}} {{#time:F [[Y]]|2000-9}} September 2000
{{FormatDate|2000-0-0|link}} Execute}} [[{{#time:Y|2000}}]] 2000
{{FormatDate|1881-3-1|nbsp}} Execute}} {{#time:j. F Y|1881-3-1}} 1. März 1881
{{FormatDate|1881-3-1|sp}} Execute}} {{#time:j. F Y|1881-3-1}} 1. März 1881
{{FormatDate|1881-3-1|nbsp|link}} Execute}} {{#time:[[j. F]] [[Y]]|1881-3-1}} 1. März 1881
{{FormatDate|1881-3-1|sp|link}} Execute}} {{#time:[[j. F]] [[Y]]|1881-3-1}} 1. März 1881
{{FormatDate|-200-12-1}} Execute}} nicht möglich
{{FormatDate|0-12-25}} Execute}} nicht möglich
{{FormatDate|2000}} Execute}} {{#time:Y|2000}} 2000
{{FormatDate|1881-01-11|AT=ja}} Execute}} nicht möglich

Verhalten bei fehlerhafter Verwendung

Aufruf Ergebnis Parserfunktion zum Vergleich Ergebnis
{{FormatDate|2000-02-30}} Execute}} {{#time:j. F Y|2000-02-30}} 1. März 2000
{{FormatDate|31.12.2000}} Execute}} {{#time:j. F Y|31.12.2000}} 31. Dezember 2000
{{FormatDate|2000.12.31}} Execute}} {{#time:j. F Y|2000.12.31}} Fehler: Ungültige Zeitangabe
{{FormatDate|xxx}} Execute}} {{#time:j. F Y|xxx}} Fehler: Ungültige Zeitangabe

Siehe auch