Modul:Datum: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Alarya (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Alarya (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(23 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
local p = {} | local p = {} | ||
function | local fncMonatsnameAv = function (monatsnummer) | ||
le = {} | |||
le[1] = 'PRA' | |||
le[2] = 'RON' | |||
le[3] = 'EFF' | |||
le[4] = 'TRA' | |||
le[5] = 'BOR' | |||
le[6] = 'HES' | |||
le[7] = 'FIR' | |||
le[8] = 'TSA' | |||
le[9] = 'PHE' | |||
le[10] = 'PER' | |||
le[11] = 'ING' | |||
le[12] = 'RAH' | |||
le[13] = 'NL' | |||
return le[monatsnummer] | |||
end | end | ||
function | local fncTageImMonatIrd = function (monatsnummer, schaltjahr) | ||
return | le = {} | ||
le[1] = 31 | |||
if schaltjahr then | |||
le[2] = 29 | |||
else | |||
le[2] = 28 | |||
end | |||
le[3] = 31 | |||
le[4] = 30 | |||
le[5] = 31 | |||
le[6] = 30 | |||
le[7] = 31 | |||
le[8] = 31 | |||
le[9] = 30 | |||
le[10] = 31 | |||
le[11] = 30 | |||
le[12] = 31 | |||
return tonumber(le[monatsnummer]) | |||
end | end | ||
function p. | function p.IrdischZuBF(frame) | ||
return tostring(frame:preprocess('{{REVISIONTIMESTAMP: '.. tostring(mw.title.getCurrentTitle()) ..'}}')) .. ' | jahr = frame:getParent().args[1] | ||
monat = frame:getParent().args[2] | |||
tag = frame:getParent().args[3] | |||
if jahr == nil then | |||
jahr = frame.args[1] | |||
end | |||
if jahr == nil then | |||
return 'Parameter Jahr (1. unbenannter Parameter) fehlt im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte nachtragen! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' | |||
elseif string.len(jahr) == 0 then | |||
return 'Parameter Jahr (1. unbenannter Parameter) ohne Angabe einer irdischen Jahreszahl im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte nachtragen! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' | |||
end | |||
if monat == nil then | |||
monat = frame.args[2] | |||
end | |||
if monat == nil then | |||
return 'Parameter Monat (2. unbenannter Parameter) fehlt im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte nachtragen! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' | |||
elseif string.len(monat) == 0 then | |||
return 'Parameter Monat (2. unbenannter Parameter) ohne Angabe einer Monats-Zahl im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte nachtragen! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' | |||
end | |||
if tag == nil then | |||
tag = frame.args[3] | |||
end | |||
if tag == nil then | |||
return 'Parameter Tag (3. unbenannter Parameter) fehlt im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte nachtragen! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' | |||
elseif string.len(tag) == 0 then | |||
return 'Parameter Tag (3. unbenannter Parameter) ohne Angabe einer Tages-Zahl im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte nachtragen! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' | |||
end | |||
test_jahr = tonumber(jahr) | |||
if test_jahr ~= nil then | |||
jahr_av = test_jahr - 977 | |||
else | |||
return 'Parameter Jahr (1. unbenannter Parameter) muss eine gültige irdische Jahreszahl sein im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte korrigieren! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' | |||
end | |||
test_monat = tonumber(monat) | |||
if test_monat ~= nil then | |||
if test_monat < 1 then | |||
return 'Parameter Monat (2. unbenannter Parameter) muss eine gültige irdische Monatszahl sein im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte korrigieren! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' | |||
elseif test_monat > 12 then | |||
return 'Parameter Monat (2. unbenannter Parameter) muss eine gültige irdische Monatszahl sein im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte korrigieren! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' | |||
end | |||
end | |||
lang = mw.getContentLanguage() | |||
int_schaltjahr = tonumber(lang:formatDate('L', test_jahr .. '-01-01', true)) | |||
if int_schaltjahr == 1 then | |||
schaltjahr = true | |||
else | |||
schaltjahr = false | |||
end | |||
test_tag = tonumber(tag) | |||
if test_tag ~= nil then | |||
if test_tag < 1 then | |||
return 'Parameter Tag (3. unbenannter Parameter) muss eine gültige irdische Tageszahl sein im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte korrigieren! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' | |||
elseif test_tag > fncTageImMonatIrd(test_monat, schaltjahr) then | |||
return 'Parameter Tag (3. unbenannter Parameter) muss eine gültige irdische Tageszahl sein im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte korrigieren! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' | |||
end | |||
end | |||
datum_string_ird = jahr .. '-' .. monat .. '-' .. tag | |||
tag_im_jahr = tonumber(lang:formatDate('z', datum_string_ird, true)) + 1 -- +1 weil 1. Januar = 0 | |||
if schaltjahr then | |||
if tag_im_jahr >= 60 then | |||
tag_im_jahr = tag_im_jahr - 1 -- ignoriere den Schalttag | |||
end | |||
end | |||
monat_av = math.ceil(tag_im_jahr / 30) | |||
tag_av = tag_im_jahr - (math.floor(tag_im_jahr / 30) * 30) | |||
monatsname_av = fncMonatsnameAv(monat_av) | |||
if jahr_av > 0 then | |||
return tag_av .. '. ' .. monatsname_av .. ' ' .. jahr_av .. ' BF' | |||
else | |||
return tag_av .. '. ' .. monatsname_av .. ' ' .. jahr_av .. ' v. BF' | |||
end | |||
end | |||
function p.Datum(frame) | |||
return '[[Modul:Datum|Modul ist in Arbeit!]]' | |||
end | |||
function p.LetzteRev(frame) | |||
lang = mw.getContentLanguage() | |||
str_revts = tostring(lang:formatDate('U', frame:preprocess('{{REVISIONTIMESTAMP: '.. tostring(mw.title.getCurrentTitle()) ..'}}'), true)) | |||
str_ts = tostring(lang:formatDate('U', os.date(), true)) | |||
sek_seit_rev = tonumber(str_ts) - tonumber(str_revts) | |||
tage_seit_rev = sek_seit_rev / (60*60*24) | |||
monate_seit_rev = tage_seit_rev / 30 | |||
jahre_seit_rev = tage_seit_rev / 365 | |||
if (tage_seit_rev < 1) then | |||
return 'vor weniger als einem Tag' | |||
elseif (monate_seit_rev < 1) then | |||
tage = math.floor(tage_seit_rev) | |||
if tage == 1 then | |||
return 'vor einem Tag' | |||
else | |||
return 'vor ' .. tage .. ' Tagen' | |||
end | |||
elseif (jahre_seit_rev < 1) then | |||
monate = math.floor(monate_seit_rev) | |||
if monate == 1 then | |||
return 'vor einem Monat' | |||
else | |||
return 'vor ' .. monate .. ' Monaten' | |||
end | |||
else | |||
jahre = math.floor(jahre_seit_rev) | |||
if jahre == 1 then | |||
return 'vor einem Jahr' | |||
else | |||
return 'vor ' .. jahre .. ' Jahren' | |||
end | |||
end | |||
end | end | ||
return p | return p |
Aktuelle Version vom 13. Februar 2025, 06:49 Uhr
Die Dokumentation für dieses Modul kann unter Modul:Datum/Doku erstellt werden
local p = {} local fncMonatsnameAv = function (monatsnummer) le = {} le[1] = 'PRA' le[2] = 'RON' le[3] = 'EFF' le[4] = 'TRA' le[5] = 'BOR' le[6] = 'HES' le[7] = 'FIR' le[8] = 'TSA' le[9] = 'PHE' le[10] = 'PER' le[11] = 'ING' le[12] = 'RAH' le[13] = 'NL' return le[monatsnummer] end local fncTageImMonatIrd = function (monatsnummer, schaltjahr) le = {} le[1] = 31 if schaltjahr then le[2] = 29 else le[2] = 28 end le[3] = 31 le[4] = 30 le[5] = 31 le[6] = 30 le[7] = 31 le[8] = 31 le[9] = 30 le[10] = 31 le[11] = 30 le[12] = 31 return tonumber(le[monatsnummer]) end function p.IrdischZuBF(frame) jahr = frame:getParent().args[1] monat = frame:getParent().args[2] tag = frame:getParent().args[3] if jahr == nil then jahr = frame.args[1] end if jahr == nil then return 'Parameter Jahr (1. unbenannter Parameter) fehlt im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte nachtragen! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' elseif string.len(jahr) == 0 then return 'Parameter Jahr (1. unbenannter Parameter) ohne Angabe einer irdischen Jahreszahl im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte nachtragen! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' end if monat == nil then monat = frame.args[2] end if monat == nil then return 'Parameter Monat (2. unbenannter Parameter) fehlt im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte nachtragen! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' elseif string.len(monat) == 0 then return 'Parameter Monat (2. unbenannter Parameter) ohne Angabe einer Monats-Zahl im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte nachtragen! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' end if tag == nil then tag = frame.args[3] end if tag == nil then return 'Parameter Tag (3. unbenannter Parameter) fehlt im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte nachtragen! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' elseif string.len(tag) == 0 then return 'Parameter Tag (3. unbenannter Parameter) ohne Angabe einer Tages-Zahl im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte nachtragen! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' end test_jahr = tonumber(jahr) if test_jahr ~= nil then jahr_av = test_jahr - 977 else return 'Parameter Jahr (1. unbenannter Parameter) muss eine gültige irdische Jahreszahl sein im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte korrigieren! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' end test_monat = tonumber(monat) if test_monat ~= nil then if test_monat < 1 then return 'Parameter Monat (2. unbenannter Parameter) muss eine gültige irdische Monatszahl sein im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte korrigieren! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' elseif test_monat > 12 then return 'Parameter Monat (2. unbenannter Parameter) muss eine gültige irdische Monatszahl sein im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte korrigieren! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' end end lang = mw.getContentLanguage() int_schaltjahr = tonumber(lang:formatDate('L', test_jahr .. '-01-01', true)) if int_schaltjahr == 1 then schaltjahr = true else schaltjahr = false end test_tag = tonumber(tag) if test_tag ~= nil then if test_tag < 1 then return 'Parameter Tag (3. unbenannter Parameter) muss eine gültige irdische Tageszahl sein im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte korrigieren! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' elseif test_tag > fncTageImMonatIrd(test_monat, schaltjahr) then return 'Parameter Tag (3. unbenannter Parameter) muss eine gültige irdische Tageszahl sein im Aufruf der Vorlage DatumIrdischZuBF auf dieser Seite. Bitte korrigieren! [[Kategorie:Wartung Falscher Vorlagen-Aufruf]]' end end datum_string_ird = jahr .. '-' .. monat .. '-' .. tag tag_im_jahr = tonumber(lang:formatDate('z', datum_string_ird, true)) + 1 -- +1 weil 1. Januar = 0 if schaltjahr then if tag_im_jahr >= 60 then tag_im_jahr = tag_im_jahr - 1 -- ignoriere den Schalttag end end monat_av = math.ceil(tag_im_jahr / 30) tag_av = tag_im_jahr - (math.floor(tag_im_jahr / 30) * 30) monatsname_av = fncMonatsnameAv(monat_av) if jahr_av > 0 then return tag_av .. '. ' .. monatsname_av .. ' ' .. jahr_av .. ' BF' else return tag_av .. '. ' .. monatsname_av .. ' ' .. jahr_av .. ' v. BF' end end function p.Datum(frame) return '[[Modul:Datum|Modul ist in Arbeit!]]' end function p.LetzteRev(frame) lang = mw.getContentLanguage() str_revts = tostring(lang:formatDate('U', frame:preprocess('{{REVISIONTIMESTAMP: '.. tostring(mw.title.getCurrentTitle()) ..'}}'), true)) str_ts = tostring(lang:formatDate('U', os.date(), true)) sek_seit_rev = tonumber(str_ts) - tonumber(str_revts) tage_seit_rev = sek_seit_rev / (60*60*24) monate_seit_rev = tage_seit_rev / 30 jahre_seit_rev = tage_seit_rev / 365 if (tage_seit_rev < 1) then return 'vor weniger als einem Tag' elseif (monate_seit_rev < 1) then tage = math.floor(tage_seit_rev) if tage == 1 then return 'vor einem Tag' else return 'vor ' .. tage .. ' Tagen' end elseif (jahre_seit_rev < 1) then monate = math.floor(monate_seit_rev) if monate == 1 then return 'vor einem Monat' else return 'vor ' .. monate .. ' Monaten' end else jahre = math.floor(jahre_seit_rev) if jahre == 1 then return 'vor einem Jahr' else return 'vor ' .. jahre .. ' Jahren' end end end return p