I recently came across a big problem, as I have a system that's paying the customers weekly.
As we all know, a year has 52 weeks, and there are standards for it. I'm using PHP aka date('W') to get the week number from a date, that calculates that according to the standard ISO-8601.
Here are some references:
But here's the ISSUE: year 2009 has 53 weeks. It seems that through the Gregorian calendar within 400 years there are 71 years that have 53 weeks. That's one thing I didn't know, and probably many didn't as well.
According to Wikipedia:
2009-12-31 is 2009-W53-4 (ISO year 2009 has 53 weeks, extending the Gregorian year 2009, which starts and ends with Thursday, at both ends with three days).
and the date function in PHP totally respects it.
If you look into MS Outlook, and show day of the week in the calendar view, it will appear 52 weeks considering 28 DEC 2009 to 03 JAN 2010 week 1. Is this another standard? The US standard or something?
If so, then why PHP can't support it? Did anyone make a function that supported this?
Is it correct to have 53 weeks? We have both European and US clients.