Module:Calendar date: Difference between revisions

Content deleted Content added
No edit summary
No edit summary
Line 98:
]]
 
local function makeDate(year, month, day, df, format)
 
if not year or year == "" or not month or month == "" or not day or day == "" then
Line 128:
end
 
if dfformat =~= "mdyinfobox" then
if df == "mdy" then
return nmonth .. " " .. day .. ", " .. year -- September 1, 2016
elseif df == "dmy" then
return day .. " " .. nmonth .. " " .. year -- 1 September 2016
elseif df == "iso" then
return year .. "-" .. zmonth .. "-" .. zday -- 2016-09-01
elseif df == "ymd" then
return year .. " " .. nmonth .. " " .. day -- 2016 September 1
else
return nmonth .. " " .. day .. ", " .. year -- September 1, 2016
end
else
if df == "mdy" then
return nmonth .. " " .. day .. ", " .. year -- September 1, 2016
return nmonth .. " " .. day -- September 1
elseif df == "dmy" then
return day .. " " .. nmonth -- 1 September
elseif df == "iso" then
return zmonth .. "-" .. zday -- 09-01
elseif df == "ymd" then
return nmonth .. " " .. day -- September 1
else
return nmonth .. " " .. day -- September 1
end
end
 
Line 153 ⟶ 167:
local hits = 0
local matchdate = "^" .. date
local startdate,enddate = ""nil
 
-- Get first and last date of holiday
for i = 1, numRecords do
if mw.ustring.find( json.items[i].date, matchdate ) then
Line 168 ⟶ 183:
end
end
return startdate .. " - " .. enddate
-- Verify data is OK
if startdate == nil or enddate == nil then return nil end
-- Format dates into df format or skip if already iso
if df ~= "iso" then
local datesplit = {}
datesplit = mw.text.split(startdate, "-")
startdate = makeDate(datesplit[1], datesplit[2], datesplit[3], df, format)
datesplit = mw.text.split(enddate, "-")
enddate = makeDate(datesplit[1], datesplit[2], datesplit[3], df, format)
if startdate == nil or enddate == nil then return nil end
end
if format == "infobox" then
format = " –<br>"
else
format = " – "
end
return startdatejson.prepend1 .. "startdate -.. "format .. enddate
end
 
Line 208 ⟶ 243:
df = trimArg(args.df)
if not df then
df = "isodmy"
elseif df ~= "mdy" or df ~= "dmy" or df ~= "iso" then
df = "isodmy"
end
 
Line 217 ⟶ 252:
if not format then
format = "none"
elseif format ~= "box" or format ~= "infobox" then
format = "none"
end
--- Determine pre-pended text eg. "sunset, <date>"
if not json.prepend1 then
json.prepend1 = ""
else
json.prepend1 = json.prepend1 .. ", "
end
if not json.prepend2 then
json.prepend2 = ""
else
json.prepend2 = json.prepend2 .. ", "
end