say weekNumber(2018, 12, 31) -- 1 2019-W01-1
say weekNumber(2019, 1, 1) -- 1 2019-W01-2
say weekNumber(2020, 12, 31) -- 53 2020-W53-4
say weekNumber(2021, 1, 1) -- 53 2020-W53-5
return
weekNumber: procedure
date = .DateTime~new(arg(1), arg(2), arg(3))
return date~weekNumber date~weekNumberDate