2013-12-30
The wonderful world of week number standards
The wonderful thing about standards:$ date "+%u %w %U %V %W" 1 1 52 01 52And the explanations: %u day of week (1..7); 1 is Monday %w day of week (0..6); 0 is Sunday %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %W week number of year, with Monday as first day of week (00..53) And it's easy to find days with 3 different week numbers:31 dec 1990 is 52 01 53 03 jan 1993 is 01 53 00 02 jan 1994 is 01 52 00 01 jan 1995 is 01 52 00 30 dec 1996 is 52 01 53 31 dec 1996 is 52 01 53 03 jan 1999 is 01 53 00 02 jan 2000 is 01 52 00 02 jan 2005 is 01 53 00 01 jan 2006 is 01 52 00 31 dec 2007 is 52 01 53 03 jan 2010 is 01 53 00 02 jan 2011 is 01 52 00 01 jan 2012 is 01 52 00 03 jan 2016 is 01 53 00 01 jan 2017 is 01 52 00 31 dec 2018 is 52 01 53 03 jan 2021 is 01 53 00 02 jan 2022 is 01 52 00 01 jan 2023 is 01 52 00 30 dec 2024 is 52 01 53 31 dec 2024 is 52 01 53 03 jan 2027 is 01 53 00 02 jan 2028 is 01 52 00 31 dec 2029 is 52 01 53Calendering software, including the one from a software developer quite known for not following standards has converged on the ISO week number.