Modul:LinkSubformDatum: Unterschied zwischen den Versionen

Aus FürthWiki

Keine Bearbeitungszusammenfassung
Markierung: Zurückgesetzt
Keine Bearbeitungszusammenfassung
Markierung: Manuelle Zurücksetzung
Zeile 23: Zeile 23:
args = pf.args
args = pf.args
date = args[1]
date = args[1]
return "YEAR"
end
 
function v()
date_array=split(date, "/")
date_array=split(date, "/")
if isEmpty(date_array[1]) then
if isEmpty(date_array[1]) then

Version vom 4. Juni 2025, 14:23 Uhr

Dieses Modul befasst sich mit Datumskonversionen bei Subformularen, wenn also Subobjekte abgebildet werden sollen. Es geht um die Konvertierung der Datumsformate, wie sie auch bei normalen Formularen stattfinden.

GetMonthday

Konvertiert ein Formular-Datum wie 2025/01/08 zu 8. Januar. Ist das Format Oktober 2022 kommt Oktober raus.

GetYear

Konvertiert ein Formular-Datum wie 2025/01/08 zu 2025. Es versteht aber auch das Datumsformat Oktober 2022



local p = {}
local c = require( "Module:Common" )

function p.GetMonthday(frame)
	pf = frame:getParent()
	args = pf.args
	
	months=getMonthList()
	
	date = args[1]
	date_array=split(date, "/")
	if isEmpty(date_array[2]) then
		return ""
	else
		mn = months[tonumber(date_array[1])]
		date_array[2] = date_array[2]:gsub('0*', '', 1)
	end
	return date_array[2]:gsub("%s+", "") .. ". " .. mn
end

function p.GetYear(frame)
	pf = frame:getParent()
	args = pf.args
	date = args[1]
	
	date_array=split(date, "/")
	if isEmpty(date_array[1]) then
		-- When datestring contained no "/"
		if isInteger(date_array[0]) then
			-- When dateformat is just YYYY
			return date_array[0]
		else
			-- Dateformat is <monthname> YYYY
			mda = split(date_array[0])
			return mda[1]
		end
	elseif isEmpty(date_array[2]) then
		-- Datestring contained one "/"
		return date_array[0]
	else
		-- Dateformat should be YYYY/MM/DD
		return date_array[0]
	end
end

return p