Wikipedia:Lua/Modul/DateTime
DateTime
– Modul mit Funktionen für die Interpretation von Datums- und Zeitangaben, sowie ihre Berechnung und Vergleich, schließlich die Darstellung.
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-AT
sowie 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 day
oder2 years ago
sowie-5 months
usw. - Die Angaben
tomorrow
oderyesterday
wie auchnext Friday
sind nur möglich, wenn sich 1 aufnow
bezieht. - Anders als bei
#time
ist 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
#time
kann 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);1
sonst - Standardmäßig wird eine mit
class="error"
markierte Meldung gezeigt. - Wenn sich bei
noerror=1
ein 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
|
2025年02月26日 06:43:09+01:00
| |||
ISO-T
|
2025年02月26日T06:43:09+01:00
| |||
timestamp
|
20250226064309
| |||
T._Monat JJJJ hh:mm:ss Zone
|
26. Februar 2025 06:43:09 (MEZ)
|
×ばつ | ||
dewiki
|
06:43, 26. Feb. 2025
| |||
T._Monat JJJJ
|
26. Februar 2025
| |||
T._Mon JJJJ
|
26. Feb. 2025
| |||
T._Mon_JJJJ
|
26. Feb. 2025
|
×ばつ | ||
T._Mon4 JJJJ
|
26. Feb. 2025
|
×ばつ | ||
T._Mon4_JJJJ
|
26. Feb. 2025
|
×ばつ | ||
T._Mon4 JJJJ hh:mm:ss
|
26. Feb. 2025 06:43:09
|
|||
T._Mon4 JJJJ hh:mm:ss Zone
|
26. Feb. 2025 06:43:09 (MEZ)
| |||
T. Mon JJJJ
|
26. Feb. 2025
| |||
TT.MM.JJJJ
|
26.02.2025
| |||
T.M.JJJJ
|
26.2.2025
| |||
$JulianDate$
|
2460732.7803588
| |||
$JulianDate,$
|
2.460.732,7803588
| |||
$"$ 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日
).
Beispiele (Testseiten)
Testseiten illustrieren praktische Beispiele.
Allgemeine Hinweise zur Einbindung von Modulen
Eine Einbindung erfolgt jeweils im Format
{{#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.