Vorlage:SortDate
Diese Vorlage entspricht der Vorlage:FormatDate, erweitert diese jedoch um die Eigenschaft, in sortierbaren Tabellen für die richtige Reihenfolge zu sorgen. Dabei wird das Datum im ISO-Format (YYYY-MM-DD) angegeben. 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 ( ).
Aufruf (Normalfall)
- {{SortDate|Datum}}
- {{SortDate|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 3. November 1881. 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 1, hier den 11. Juli 33 v. Chr. (nicht den 11. Juli 32 v. Chr.!). Eine Null als Jahreszahl (ein Jahr Null gab es nicht) bewirkt, dass nur Tag und Monat wiedergegeben werden. Drei Nullwerte (0-0-0
) sind nicht erlaubt. Als Trennzeichen ist ausschließlich das ASCII-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: „M“ (= ‚month‘, dreibuchstabig) wie bei #time, zusätzlich „S“ (= ‚short‘, vierbuchstabig/drei mit «.»). „ausgeschrieben“ ist Standard, kann also weggelassen werden:
Format- code |
Form der Monatsangabe | Beispiel | Resultat |
---|---|---|---|
ohne | Januar Februar ... | {{SortDate|2000-02-29}} {{SortDate|2000-03-01}} |
1. März 2000 | 29. Februar 2000
M | Jan. Feb. März Apr. Mai Juni Juli Aug. ... | {{SortDate|2000-02-29|M}} {{SortDate|2000-03-01|M}} |
1. März 2000 | 29. Feb. 2000
S | Jan. Feb. Mrz. Apr. Mai Jun. Jul. Aug. ... | {{SortDate|2000-02-29|S}} {{SortDate|2000-03-01|S}} |
1. Mrz. 2000 | 29. Feb. 2000
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 | |
davor=<text> | gibt vor dem Datum "<text>", gefolgt von einem Leerzeichen, aus. | |
display=<text> | Für den Fall, dass ein sehr unbestimmtes Datum einsortiert werden muss, kann man hier einen Ersatztext angeben, welcher das formatierte Datum überschreibt. Ein geeignetes Datum zum Sortieren muss jedoch angegeben werden. | Bitte nur im Ausnahmefall benutzen. |
Beispiele
Sortdate-Aufruf | Ergebnis |
---|---|
{{SortDate|1-1-1}} | 1. Januar 1 |
{{SortDate|1234-2-28}} | 28. Februar 1234 |
{{SortDate|1881-3-1}} | 1. März 1881 |
{{SortDate|1881-04-01}} | 1. April 1881 |
{{SortDate|2000-05-30}} | 30. Mai 2000 |
{{SortDate|2000-06-29|M}} | 29. Juni 2000 |
{{SortDate|2000-07-28|S}} | 28. Jul. 2000 |
{{SortDate|2000-9-0}} | September 2000 |
{{SortDate|2000-10-0}} | Oktober 2000 |
{{SortDate|2000-11-00}} | November 2000 |
{{SortDate|2000-12-00}} | Dezember 2000 |
{{SortDate|2000-0-0}} | 2000 |
{{SortDate|1881-3-1|nbsp}} | 1. März 1881 |
{{SortDate|1881-3-1|sp}} | 1. März 1881 |
{{SortDate|-200-12-1}} | 1. Dezember 200 v. Chr. |
{{SortDate|0-12-25}} | 25. Dezember |
{{SortDate|2000}} | 2000 |
{{SortDate|1881-01-00|davor=ca.}} | ca. Januar 1881 |
{{SortDate|1301-0-0}} | 1301 |
{{SortDate|1350-0-0|display=Mitte des 14. Jahrhunderts}} | Mitte des 14. Jahrhunderts |
{{SortDate|6999-0-0|display=verschoben bis in alle Ewigkeit}} | verschoben bis in alle Ewigkeit |
{{SortDate|1401-0-0}} | 1401 |
Lua
Verwendetes Modul: Vorlage:FormatDate