【发布时间】:2011-12-10 15:10:18
【问题描述】:
Delphi Xe, Win 7, System TimeZone UTC+4:0, 系统一周的第一天-星期一,时间与time.windows.com同步
在 Delphi Win32 标准组件的调色板中有一个组件 MonthCalendar,它的属性 WeekNubers=true(显示周数),date=now,第一天 - 星期一。
在 19 号(今天)-第 43 周显示。
我通过 dateutils.WeekOfTheYear(now) 请求编号 = 返回 42。
来源 (0.5 Mb) http://www.sendspace.com/file/yuz6ko
从组件 MonthCalendar 的初始代码来看 - 一切都是真的(即使不公开一周的第一天,它也会从系统参数中获取价值)。
在查询 WeekOfTheYear 中被告知,所有这些都被认为也应用了标准 ISO,但数字不一致:(
无论如何我都不会明白,一周会在哪里消失 - 如果看日历,应该是 43 周,如果考虑,那是 53 周和去年的第一个问题......
顺便说一句,2011 年 1 月 1 日的 WeekOfTheYear 也返回 52,尽管应该返回 1...
为什么要区分,哪里是正确的?
【问题讨论】:
标签: delphi monthcalendar