Modul:Kalender: Unterschied zwischen den Versionen
Aus FürthWiki
(Die Seite wurde neu angelegt: „p = {} function p.date2ISO(d) end return p“) |
Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
p = {} | p = {} | ||
function p.IstJahrestag(frame) | |||
-- #invoke wrapper | |||
local args = frame.args | |||
local title = mw.title.getCurrentTitle().text | |||
local tag, monat = p.istJahrestag(title) | |||
if tag and monat then | |||
return frame.args[1] or "true" | |||
else | |||
return frame.args[2] or "" | |||
end | |||
end | |||
function p.istJahrestag(s) | |||
s = s or "" | |||
-- Prüfe auf ein-/zweistellige Zahl durch Punkt gefolgt, opt. Leerzeichen | |||
return s:match("^(%d%d?)%.%s*(%a+)$") | |||
end | |||
function p.IstJahreszahl(frame) | |||
-- #invoke wrapper | |||
local args = frame.args | |||
local title = mw.title.getCurrentTitle().text | |||
if p.istJahreszahl(title) then | |||
return args[1] or "true" | |||
else | |||
return args[2] or "" | |||
end | |||
end | |||
function p.istJahreszahl(s) | |||
s = s or "" | |||
-- Prüfe auf Formate wie: 2024, -44, 44 v. Chr., 800 n. Chr. | |||
return s:match("^%-?%d+$") or s:match("^%d+%s+[vn]%.%s+Chr%.$") | |||
end | |||
function p.getMonthList() | |||
-- Returns a numbered List of all monthnames | |||
return { | |||
[1] = "Januar", | |||
[2] = "Februar", | |||
[3] = "März", | |||
[4] = "April", | |||
[5] = "Mai", | |||
[6] = "Juni", | |||
[7] = "Juli", | |||
[8] = "August", | |||
[9] = "September", | |||
[10] = "Oktober", | |||
[11] = "November", | |||
[12] = "Dezember"} | |||
end | |||
function p.getMonthnr(name) | |||
-- Returns the number of the given monthname | |||
local months = p.getMonthList() | |||
for nr, mn in pairs(months) do | |||
if mn == name then | |||
return nr | |||
end | |||
end | |||
end | |||
function p.date2ISO(d) | function p.date2ISO(d) | ||
Version vom 27. Dezember 2025, 19:40 Uhr
Dieses Modul enthält Kalender/Datums-bezogene Funktionen.
istJahrestag()
Überprüft den Namen des beinhaltenden Artikels auf:
- mit 1 oder 2 Ziffern beginnt (
%d%d?) - gefolgt ist von einem Punkt (
%.) - optionalem Leerzeichen (
%s*), - und einem Monatsnamen (
%a+= Buchstaben).
Wenn das zutreffend ist, wird das erste Argument zurückgegeben. Wenn nicht, wird das zweite Argument zurückgegeben. Sind keine Argumente gegeben, wird true oder "" zurückgegeben.
istJahreszahl()
Überprüft den Namen des beinhaltenden Artikels auf:
- Ist der Artikelname eine Ganzzahl, positiv oder negativ? (
^%-?%d+$) - Oder ist der Artikelname eine positive Ganzzahl, gefolgt von "v. Chr." oder "n. Chr." (
^%d+%s+[vn]%.%s+Chr%.$)
Wenn das zutreffend ist, wird das erste Argument zurückgegeben. Wenn nicht, wird das zweite Argument zurückgegeben. Sind keine Argumente gegeben, wird "" oder true zurückgegeben.
dateLastDayCompleter() / DateLastDayCompleter()
Ergänzt ein Formular-Datum um letzten Tag für eine SMW-Query, insbesondere Abfragen.
Unterseiten
p = {}
function p.IstJahrestag(frame)
-- #invoke wrapper
local args = frame.args
local title = mw.title.getCurrentTitle().text
local tag, monat = p.istJahrestag(title)
if tag and monat then
return frame.args[1] or "true"
else
return frame.args[2] or ""
end
end
function p.istJahrestag(s)
s = s or ""
-- Prüfe auf ein-/zweistellige Zahl durch Punkt gefolgt, opt. Leerzeichen
return s:match("^(%d%d?)%.%s*(%a+)$")
end
function p.IstJahreszahl(frame)
-- #invoke wrapper
local args = frame.args
local title = mw.title.getCurrentTitle().text
if p.istJahreszahl(title) then
return args[1] or "true"
else
return args[2] or ""
end
end
function p.istJahreszahl(s)
s = s or ""
-- Prüfe auf Formate wie: 2024, -44, 44 v. Chr., 800 n. Chr.
return s:match("^%-?%d+$") or s:match("^%d+%s+[vn]%.%s+Chr%.$")
end
function p.getMonthList()
-- Returns a numbered List of all monthnames
return {
[1] = "Januar",
[2] = "Februar",
[3] = "März",
[4] = "April",
[5] = "Mai",
[6] = "Juni",
[7] = "Juli",
[8] = "August",
[9] = "September",
[10] = "Oktober",
[11] = "November",
[12] = "Dezember"}
end
function p.getMonthnr(name)
-- Returns the number of the given monthname
local months = p.getMonthList()
for nr, mn in pairs(months) do
if mn == name then
return nr
end
end
end
function p.date2ISO(d)
end
return p