Wikipedia:Lua/Modul/DateTime
From Wikipedia, the free encyclopedia
DateTime – Modul mit Funktionen für die Interpretation von Datums- und Zeitangaben, sowie ihre Berechnung und Vergleich, schließlich die Darstellung.
| Vorlagenprogrammierung | Diskussionen | Lua | Test | Unterseiten | |||
| Modul | Deutsch | English | Modul: | Dokumentation | |||
Das Modul ist für solche Aufgaben vorgesehen, die die Leistungsfähigkeit der Parserfunktionen #time und #timel übersteigen.
Alle zweifelsfreien Datumsformate für den deutsch- und englischsprachigen Raum werden bei der Eingabe unterstützt.
Funktionen für Vorlagen
format
Formatiere eine Datums-/Zeitangabe.
Parameter (alle optional; umgebender Whitespace wird ignoriert):
- 1
- Angabe von Datum oder Uhrzeit
now– jetzt (Vorgabe)- Interpretierbares Format; Beispiele siehe Testseite.
- Führendes
#gibt die Anzahl der Sekunden seit 1. Januar 1970 (UTC) an (Unix-Zeit). usw. werden als Leerzeichen behandelt.- 2
- Formatspezifikation
- wie für
#time - gemäß besonderer Vereinbarung
- wie für
- lang
- Besondere Sprachbezeichnung (Kürzel gemäß ISO 639)
- Mögliche Werte:
de(Vorgabe);de-ATsowie wohl alle Sprachen, in denen eine Wikipedia existiert. Bei unbekannter Sprachvariante wird auf die Basissprache zurückgefallen. Groß- und Kleinschreibung wird ignoriert.
- Mögliche Werte:
- shift
- Verschiebung
- wie für
#time(2. Parameter)- Mögliche Werte:
1 dayoder2 years agosowie-5 monthsusw. - Die Angaben
tomorrowoderyesterdaywie auchnext Fridaysind nur möglich, wenn sich 1 aufnowbezieht. - Anders als bei
#timeist ansonsten auch die Angabe eines Basiszeitpunkts möglich. - Eine einzelne Zahl ohne Maßeinheit wird als Anzahl von Sekunden interpretiert, positiv/negativ, muss nicht ganzzahlig sein (Dezimalpunkt).
- Wie bei
#timekann es bei Überschreitung von Monats- oder Jahresgrenzen durch andere als glatte Intervalle zu unvorhergesehenen Ergebnissen kommen; was der 31. Mai plus 1 Monat sein soll, bleibt ohnehin unklar.
- Mögliche Werte:
- noerror
- Fehlermeldung unterdrücken
- Mögliche Werte: nichts oder
0(Vorgabe);1sonst - Standardmäßig wird eine mit
class="error"markierte Meldung gezeigt. - Wenn sich bei
noerror=1ein leerer Wert ergibt, war der Eingabewert ungültig.
- Mögliche Werte: nichts oder
Ergebnis: Formatierte Angabe.
- Anders als bei der Parserfunktion führen fehlende Angaben in der Eingabe jedoch nicht dazu, dass es zu Fehlern oder unerwünschten Ergänzungen kommt; sondern der Ausgabewert wird möglichst auf die Elemente beschränkt, die auch angegeben wurden.
- errCat
- Ein oder mehrere Titel von Wartungskategorien.
- Die Titel sind durch Pipe-Symbol (per
{{!}}) zu trennen. - Beispiel:
errCat=Wikipedia:Vorlagenfehler/Parameter:Datum
Standardformate
| Bezeichner | Beispielausgabe | geschütztes Leerzeichen zwischen | Monatsname bis 4 Buchstaben nicht abkürzen | |
|---|---|---|---|---|
| Punkt und Monatsname | Monatsname und Jahreszahl | |||
| keine Angabe | →ISO-T | |||
ISO |
2026-03-17 20:43:39+01:00 | |||
ISO-T |
2026-03-17T20:43:39+01:00 | |||
timestamp |
20260317084339 | |||
T._Monat JJJJ hh:mm:ss Zone |
17. März 2026 20:43:39 (MEZ) |
× | ||
dewiki |
20:43, 17. Mär. 2026 | |||
T._Monat JJJJ |
17. März 2026 | |||
T._Mon JJJJ |
17. Mär. 2026 | |||
T._Mon_JJJJ |
17. Mär. 2026 |
× | ||
T._Mon4 JJJJ |
17. März 2026 |
× | ||
T._Mon4_JJJJ |
17. März 2026 |
× | ||
T._Mon4 JJJJ hh:mm:ss |
17. März 2026 20:43:39 |
|||
T._Mon4 JJJJ hh:mm:ss Zone |
17. März 2026 20:43:39 (MEZ) | |||
T. Mon JJJJ |
17. Mär. 2026 | |||
TT.MM.JJJJ |
17.03.2026 | |||
T.M.JJJJ |
17.3.2026 | |||
$JulianDate$ |
2460752.3636921 | |||
$JulianDate,$ |
2.460.752,3636921 | |||
$"$Text |
Text | |||
Mehrere Darstellungsformate
Es ist möglich, denselben Zeitpunkt mehrfach in unterschiedlichen Formaten und somit ggf. anderen Zeitrechnungen, Kalendern, Zeitzonen darzustellen.
- Dazu müssen die Formatangaben durch
|||voneinander getrennt werden. - In der Vorlagenprogrammierung wird das durch
{{!}}{{!}}{{!}}erreicht. - Die Komponenten werden nahtlos aneinandergefügt.
- Mit dem Sonderformat
$"$können Textblöcke eingestreut werden, damit Schlüsselwörter als Formate nutzbar sind. Gleichzeitig lässt sich die Darstellung entsprechend gliedern und beschriften. - Die Verwendung ist etwas komplizierter und zielt auf entsprechende Vorlagenprogrammierungen ab.
lt le eq ne ge gt
Diese Funktionen vergleichen den ersten und zweiten Parameter miteinander; als Datum/Zeit in beliebigem Format (oder „jetzt“ wenn nicht angegeben).
- Funktionswert ist
1, wenn die Bedingung erfüllt ist, sonst „nichts“.
Die Funktionen sind im Einzelnen:
lt– kleinerle– kleiner oder gleicheq– gleichne– ungleichge– größer oder gleichgt– größer
failsafe
Diese Funktion gibt die Versionsbezeichnung des Moduls aus.
{{#invoke:DateTime|failsafe}}ergibt2023-10-03
Mit Angabe eines Parameters als Datum im ISO-Format wird verglichen, ob das aktuelle Modul diese Version oder später erfüllt.
{{#invoke:DateTime|failsafe|2001-01-01}}ergibt: »2023-10-03«{{#invoke:DateTime|failsafe|2099-01-01}}ergibt: »« – leer, falls Mindestversionsbezeichnung nicht erfüllt
Ist dieser Zusatzparameter das Schlüsselwort wikidata, so ist der Wert die auf Wikidata registrierte Versionsbezeichnung (2023-10-03) oder lokal, falls dort keine gefunden.
- Ist der Zusatzparameter das Zeichen
~, so ist das Ergebnis leer, falls Übereinstimmung der lokalen mit der auf Wikidata registrierten Versionsbezeichnung besteht (2023-10-03).
Eine Einbindung erfolgt jeweils im Format
Allgemeine Hinweise zur Einbindung von Modulen
{{#invoke: DateTime | Funktionsname | Wert1 | Wert2 | NameX=Wert … }}
Die Parameter können wie bei Vorlagen benannt oder unbenannt sein; deren Regeln gelten analog.
Wenn unbekannte Zeichenketten von außen kommen (als Vorlagenparameter), sollte immer mit der Form 1=Wert gearbeitet werden.
Zu allgemeinen Problemen beachte die Abhilfen wie bei Vorlagen.
Wenn in einer Vorlage ein Modul verwendet wird, sollte auch immer die Vorlage:Dokumentation/Lua in der Dokumentationsseite eingebunden werden.
- Das gibt einem Programmierer Aufschluss, dass ein Lua-Modul benutzt wird, welche/s und ggf. welche Einzelfunktion daraus, und verlinkt auf die Dokumentation.
- Die Modul-Dokumentationen bekommen ein Link, in welchen Vorlagen sie eingesetzt werden, und wo bei eventuellen Funktionsänderungen Anpassungen erforderlich werden.
- Die Vorlage wird zur Übersicht kategorisiert in Kategorie:Vorlage:mit Lua-Programmierung.
Zu weiteren Informationen siehe Hilfe:Lua.
Bei Problemen wende dich bitte an die Vorlagen-Werkstatt, in schweren Fällen hilft auch die Lua-Werkstatt.