Advertisement
Lorfa

YearsWeeks

Apr 16th, 2024 (edited)
569
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var period = {"year":2024, "week":1}
  2.  
  3. for (let i = period["week"]; i <= 52; i++)
  4.     {
  5.             //console.log(i)
  6.    
  7.             var january_first = new Date(Date.UTC(period["year"],0,1))
  8.  
  9.             //console.log(january_first.getUTCDay()) // Prints 0 for 2023, 1 for 2024, 3 for 2025
  10.  
  11.             var k = (january_first.getUTCDay() !== 0) ? january_first.getUTCDay() : 7
  12.            
  13.             //console.log(k) // Prints 7 for 2023, 1 for 2024, 3 for 2025
  14.  
  15.             var offset = (1 - k) % 7 // 2023 this is -6 remainder 7 = -6 remainder is not modulus.
  16.            
  17.             //console.log(offset)
  18.  
  19.             var monday = new Date(january_first.getTime())
  20.            
  21.             //console.log(monday) // Example output: 2023-01-01T00:00:00.000Z
  22.  
  23.             monday.setUTCDate(january_first.getUTCDate() + offset + (period["week"] - 1) * 7);
  24.            
  25.             var monday_str = monday.toISOString()
  26.  
  27.             console.log(`${period["year"]} - ${period["week"]} = ${monday_str}`)
  28.            
  29.             period["week"] += 1
  30.            
  31.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement