Module:Sandbox/Dat Hack3r: Difference between revisions

From Our World of Text Wiki
Jump to navigation Jump to search
(This is a sandbox, who cares about the edit summary?)
 
No edit summary
Line 1: Line 1:
local p = {}
local p = {}


-- Function to calculate the week number based on a given date
-- Function to calculate the previous week's number based on the current date
function p.getPreviousWeekNumber(frame)
function p.lastReleaseNumber(frame)
     -- Define the start date of Week 1
     -- Define the start date of Week 1
     local week1Start = os.time{year=2024, month=9, day=8}
     local week1Start = os.time{year=2024, month=9, day=8}
      
      
     -- Convert the current date to time format
     -- Convert the input date from the frame to a time object
     local currentDateTime = os.time{year=currentDate.year, month=currentDate.month, day=currentDate.day}
     local year = tonumber(frame.args.year)
    local month = tonumber(frame.args.month)
    local day = tonumber(frame.args.day)
    local currentDate = os.time{year=year, month=month, day=day}
      
      
     -- Calculate the difference in days from the start of Week 1
     -- Calculate the difference in days from the start of Week 1 to the current date
     local daysDifference = os.difftime(currentDateTime, week1Start) / (24 * 60 * 60)
     local daysDifference = os.difftime(currentDate, week1Start) / (24 * 60 * 60)
      
      
     -- Calculate the week number (rounding down to get integer weeks)
     -- Calculate the current week number
     local currentWeek = math.floor(daysDifference / 7) + 1
     local currentWeek = math.floor(daysDifference / 7) + 1
      
      
     -- Calculate the previous week number
     -- Calculate the previous week number, ensuring it does not go below 1
     local previousWeek = math.max(currentWeek - 1, 1) -- Ensure it doesn't go below 1
     local previousWeek = math.max(currentWeek - 1, 1)
      
      
     return 'Weekly Briefing Release'..previousWeek
     return previousWeek
end
end


return p
return p

Revision as of 12:33, 13 November 2024

Documentation for this module may be created at Module:Sandbox/Dat Hack3r/doc

local p = {}

-- Function to calculate the previous week's number based on the current date
function p.lastReleaseNumber(frame)
    -- Define the start date of Week 1
    local week1Start = os.time{year=2024, month=9, day=8}
    
    -- Convert the input date from the frame to a time object
    local year = tonumber(frame.args.year)
    local month = tonumber(frame.args.month)
    local day = tonumber(frame.args.day)
    local currentDate = os.time{year=year, month=month, day=day}
    
    -- Calculate the difference in days from the start of Week 1 to the current date
    local daysDifference = os.difftime(currentDate, week1Start) / (24 * 60 * 60)
    
    -- Calculate the current week number
    local currentWeek = math.floor(daysDifference / 7) + 1
    
    -- Calculate the previous week number, ensuring it does not go below 1
    local previousWeek = math.max(currentWeek - 1, 1)
    
    return previousWeek
end

return p