Delphi Xe, Win 7, System TimeZone UTC + 4: 0, первый день недели в системе - понедельник, время синхронизировано с time.windows.com
в палитре стандартных компонентов Delphi Win32присутствует компонент MonthCalendar, у него свойство WeekNubers = true (отображение номеров недель), дата = сейчас, первый день - понедельник.
Показывает по 19 числу (сегодня) - номер недели 43.
Я запрашиваю номер через dateutils.WeekOfTheYear (сейчас) = возвращает 42.
Источник (0,5 Мб) http://www.sendspace.com/file/yuz6ko
Судя поисходный код компонента MonthCalendar - там вроде все верно (даже если не выставлять первый день недели, он принимает значение из системных параметров).
А в запросе WeekOfTheYear сказано, что все считаетсятакже применялся стандарт ISO, но цифры не совпадают: (
никак не пойму, куда исчезает одна неделя - если смотреть по календарю, должно быть 43, а если учесть, что недели 53 ипервый концертns в прошлом году ...
Кстати WeekOfTheYear на 01.01.2011 тоже возвращает 52, хотя вроде должно возвращать 1 ...
Почему различия и где это правильно?