Module:FillDate

-- 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 = {}

-- 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