Wikipedia:Lua/Modul/DateTime
Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
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
- 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
|
2024-10-29 02:08:13+01:00
| |||
ISO-T
|
2024-10-29T02:08:13+01:00
| |||
timestamp
|
20241029020813
| |||
T._Monat JJJJ hh:mm:ss Zone
|
29. Oktober 2024 02:08:13+01:00
|
× | ||
dewiki
|
02:08, 29. Ókt. 2024
| |||
T._Monat JJJJ
|
29. Óktówer 2024
| |||
T._Mon JJJJ
|
29. Ókt. 2024
| |||
T._Mon_JJJJ
|
29. Ókt. 2024
|
× | ||
T._Mon4 JJJJ
|
29. Okt. 2024
|
× | ||
T._Mon4_JJJJ
|
29. Okt. 2024
|
× | ||
T._Mon4 JJJJ hh:mm:ss
|
29. Okt. 2024 02:08:13
|
|||
T._Mon4 JJJJ hh:mm:ss Zone
|
29. Okt. 2024 02:08:13+01:00
| |||
T. Mon JJJJ
|
29. Ókt. 2024
| |||
TT.MM.JJJJ
|
29.10.2024
| |||
T.M.JJJJ
|
29.10.2024
| |||
$JulianDate$
|
2460612.5889815
| |||
$JulianDate,$
|
2.460.612,5889815
| |||
$"$ 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}}
ergibt2020-09-30
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: »2020-09-30
«{{#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 (2020-09-30
) 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 (2020-09-30
).
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.
{{Lua-Vorlage}}
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.