Module:DayCalc: Difference between revisions

Fixing up the get_next_tuesday logic and made it use an offset so that the date calculation uses Pacific Standard Time
(Fixed algorithm so that the next "first Tuesday" will be September 5.)
(Fixing up the get_next_tuesday logic and made it use an offset so that the date calculation uses Pacific Standard Time)
 
(2 intermediate revisions by the same user not shown)
Line 5:
function p.get_next_tuesday(frame)
local isodate = frame.args.isodate
local current_timepst_tzoffset = os.time0 - ( 8 * 60 * 60 )
local current_time = os.time() + pst_tzoffset
local current_day_of_week = tonumber(os.date("%w", current_time))
local days_until_tuesday = (9 - current_day_of_week) % 7
local next_tuesday_time = current_time + days_until_tuesday * 8640024 --* 8640060 seconds* in a day60
local retval="UNDEFINED"
local next_tuesday_time = current_time + days_until_tuesday * 86400 -- 86400 seconds in a day
 
if isodate == "true" and current_day_of_week == 2 then
ifretval isodate == os.date("true%Y-%m-%d", thencurrent_time)
elseif current_day_of_week == 2 then
retval return= os.date("%Y-B %m-d, %dY", current_time)
else
elseif isodate == true then
return os.date("%B %d, %Y", current_time)
retval return= os.date("%Y-%m-%d", next_tuesday_time)
end
else
if isodateretval == os.date("true%B %d, %Y", thennext_tuesday_time)
return os.date("%Y-%m-%d", next_tuesday_time)
else
return os.date("%B %d, %Y", next_tuesday_time)
end
end
return retval
end