Wikipedia Diskussion:Lua/Modul/DateTime
Vorlagenprogrammierung | Diskussionen | Lua | Test | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
_
Gewünschte oder benötigte Features
BearbeitenIch schlage vor, das Modul mit geeigneten Vorlagen zugänglich zu machen. Gewünschte Funktionen sind:
- Deutsche Texte (Strings). Hier in de:WP schreibt man "März" und nicht "March".
- Eingabeformate: Kalender, Julianisches Datum, ISO-Datum inkl. Format "JJJJ-DDD"
- Umrechnung zwischen den Formaten.
- Differenz zwischen zwei realen Zeitpunkten berechnen und zurückgeben (als JD oder in Zeiteinheiten).
- Addition oder Subtraktion einer Zeitspanne zu einem Realzeitpunkt.
- Addition oder Subtraktion zweier Zeitangaben, also z.3 B. Summe von 3 d 14 h 59 m 30,63 s und 5 d 3 h 41 m 0,91 s
- Berechnung des Osterdatums
Das wären m.E. mal einige wichtige. Es wäre auch gut, eine leicht verständliche (!) Beschreibung der exportierten Funktionen zu haben. ÅñŧóñŜûŝî (Ð) 13:16, 8. Nov. 2015 (CET)
- Deutsche Texte (Strings)
- ??? – Ausgabeformate: siehe außerdem Wikipedia:Lua/Modul/DateTime/Test/format; vielsprachig; standardmäßig deutsch, aber auch italienisch oder brasilianisches Portugiesisch möglich.
- Eingabeformate: Es wird immer Englisch und außerdem die lokale Landessprache deutsch verstanden.
- Wo siehst du was von "March"?
- Julianisches Datum
- Julianischer Kalender: Ist strukturell vorgesehen, aber zurzeit noch keine Notwendigkeit, den Vorlagen Konkurrenz zu machen, da diese gut klarkommen.
- Julianisches Datum: Ist strukturell vorgesehen, aber zurzeit noch keine Notwendigkeit, den Vorlagen Konkurrenz zu machen, da diese gut klarkommen.
- JJJJ-DDD – prinzipiell möglich als
doy
, aber magere PHP-Bibliotheksunterstützung und deshalb aufwändig nach Schaltjahr usw. in Monate und Tage umzurechnen. Zurzeit sehe ich keinen Anwendungsbereich, wo das einen Vorteil bringen würde oder es im Projekt benötigt wird. Sowohl Ausgabe wie Eingabe mühsam.
- Umrechnung zwischen den Formaten
- ??? – Gib den Wert in irgendeinem Format de/en vor und lass ihn dir x-beliebig anzeigen.
- Addition oder Subtraktion einer Zeitspanne zu einem Realzeitpunkt.
- ??? – Parametershift; vorhanden. Siehe BETA – hier noch nicht verlinkt.
- Addition oder Subtraktion zweier Zeitangaben
- Wer braucht das wann wozu dynamisch?
- Geht bereits als Berechnung zu einem fiktiven „Jahr Null“.
- Allgemein auch ziemliche Performance-Fresser; und die meisten, die sowas anwenden, erzählen einem, dass sie schon seit 1234 Tagen in der WP angemeldet sind.
- Berechnung des Osterdatums
- Bin nicht bibelfest.
- Zurzeit keine Notwendigkeit, den Vorlagen Konkurrenz zu machen, da diese gut klarkommen.
- Wenn, dann allenfalls ausgegliedert als Zusatzmodul, damit es nicht in jede Seite eingebunden werden muss, und dann auch Yom Kippur und das chinesische Neujahrsfest.
- Deutsche Texte (Strings)
- BETA ist aktueller.
- VG --PerfektesChaos 13:50, 8. Nov. 2015 (CET)
Testbeispiele
BearbeitenDie Beispiele auf der Testseite scheinen nicht das zu testen, was sie sollen. Dort wird über {{../f|…}}
irgendwie die format-Funktion aufgerufen. Ein direkter Aufruf von {{#invoke:DateTime|format|1337-01-23|T._Monat JJJJ|lang=fr}}
(LMT._janv.13371am31 JJJJ) liefert nicht das gewünschte Ergebnis. Was mache ich falsch?— Sivizius (Diskussion) 06:34, 21. Okt. 2019 (CEST)
- Bei uns hier ist kein Eingabeformat
|lang=fr
→ „Französisch“ definiert. T._Monat JJJJ
ist ein deutschsprachiges Ausgabeformat.- Auf den Testseiten gibt es keine Beispiele für französische Ein- oder Ausgabeformate.
- Deine Eingabe lautet
1337-01-23
und das ist ISO und das ist unabhängig von Sprachvereinbarungen|lang=
und geht immer. |lang=fr
würde in dem Moment interessant werden, wenn février oder août interpretiert werden sollen.- Bei uns sind die Eingabeformate
en
(geht immer und überall) sowiede
definiert. - VG --PerfektesChaos 12:41, 21. Okt. 2019 (CEST)
- Gut, fr braucht man hier wohl eher weniger, aber de-AT, wie explizit in der Dokumentation genannt, wäre schon nützlich, aber
{{#invoke:DateTime|format|1337-01-23|T._Monat JJJJ|lang=de-AT}}
(23. Jänner 1337) macht keinen Unterschied.— Sivizius (Diskussion) 14:10, 21. Okt. 2019 (CEST)
- Gut, fr braucht man hier wohl eher weniger, aber de-AT, wie explizit in der Dokumentation genannt, wäre schon nützlich, aber
Fehlerhafte Ausgabe
Bearbeiten"{{#invoke:DateTime|format||ISO|noerror=1}}"
ergibt: "-12-"
Bei leerer Eingabe müsste eigentlich eine leere Zeichenkette ausgegeben werden!
So muss man, um diesen Programmfehler auszugleichen, zur Gültigkeitsprüfung des Datums extra ein #if:
vor der Benutzung dieses Moduls einbauen. --Wiki1939 (Diskussion) 15:04, 14. Nov. 2022 (CET)
- Umseitig steht nicht, dass ein leerer Wert zulässig wäre.
- Wenn überhaupt, dann wäre die Vorgabe
now
– da du dich aber mit der Zitation von Publikationen beschäftigst, die mutmaßlich vor mehr als einer Minute oder drei Tagen erschienen sind, kannst du mitnow
auch nichts anfangen. Wenn ein Wert für eindate=
nicht vorhanden ist, also der Parameter leer angegeben ist, dann ist schlicht nix da, das du in einer Zitation formatieren könntest. 2024-12-12T22:46:45+01:00
funktioniert hingegen durch Weglassen.2024-12-12 22:46:45+01:00
wäre dein korrigierter Beispielfall.{{#if: {{{date|}}} | {{#invoke:DateTime|format|{{{date}}} |
wäre also in deiner Programmierung zu verwenden.- VG --PerfektesChaos 16:26, 14. Nov. 2022 (CET)