Jump to content

Module:FillDate

From Wikipedia, the free encyclopedia
This is the current revision of this page, as edited by Novem Linguae (talk | contribs) at 15:36, 11 April 2024 (refactor). The present address (URL) is a permanent link to this version.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

-- Requested by [[User:Sdkb]]

-- Handles these 3 cases:
--     "2023" → "1 January 2023"
--     "March 2023" → "1 March 2023"
--     "14 March 2023" → "14 March 2023"

local p = {}

-- {{#invoke:FillDate|main|{{{1|}}}}}
function p.main(frame)
    local str = frame.args[1]
	-- "2023" → "1 January 2023"
	if string.match(str, '^%d%d%d%d$') then
		return '1 January ' .. str;
	-- "March 2023" → "1 March 2023"
	elseif string.match(str, '^[a-zA-Z]+ %d%d%d%d$') then
		return '1 ' .. str;
	-- "14 March 2023" → "14 March 2023"
	else
    	return str
	end
end

return p