It depends on the current locale and what day, Sunday or Monday, counts as start of the week. In C/POSIX, the first Sunday of the year starts week 1: $ LC_ALL=C ncal -wd 2015-01 January 2015 Su 4 11 18 25 Mo 5 12 19 26 Tu 6 13 20 27 We 7 14 21 28 Th 1 8 15 22 29 Fr 2 9 16 23 30 Sa 3 10 17 24 31 53 1 2 3 4
$ LC_ALL=C ncal -Mwd 2015-01 January 2015 Mo 5 12 19 26 Tu 6 13 20 27 We 7 14 21 28 Th 1 8 15 22 29 Fr 2 9 16 23 30 Sa 3 10 17 24 31 Su 4 11 18 25 1 2 3 4 5 But in de_DE.UTF-8, it's ISO 8601 (i.e. %V): weeks start on a Monday, and week 1 must contain at least four days: $ LC_ALL=de_DE.UTF-8 ncal -wd 2015-01 Januar 2015 Mo 5 12 19 26 Di 6 13 20 27 Mi 7 14 21 28 Do 1 8 15 22 29 Fr 2 9 16 23 30 Sa 3 10 17 24 31 So 4 11 18 25 1 2 3 4 5 $ LC_ALL=de_DE.UTF-8 ncal -wd 2016-01 Januar 2016 Mo 4 11 18 25 Di 5 12 19 26 Mi 6 13 20 27 Do 7 14 21 28 Fr 1 8 15 22 29 Sa 2 9 16 23 30 So 3 10 17 24 31 53 1 2 3 4 $ date -d 2015-01-03 +'%U %V %W' 00 01 00 $ date -d 2015-01-04 +'%U %V %W' 01 01 00 $ date -d 2015-01-05 +'%U %V %W' 01 02 01