2012-11-02 209 views
5

2013年第一週2013年12月31日開始,因爲這是一個星期一。GetWeekOfYear返回錯誤結果?

的調用GetWeekOfYear與文化nl-NLFirstDayOfWeek.MondayCalendarWeekRule.FirstFourDayWeek返回週數53週一31-12-2012 1週週二2013年1月1日。那週一怎麼會有不同於週二的星期數?

我錯過了什麼?

回答

0

您在第一個示例中通過的年份是2012年。不是2013年。它返回您在約會中通過的一年中的那一週。

+0

那有用嗎?當我看着我的紙質日曆時,它說第31周2012年第1周。爲什麼有人想要不同? – Jeroen

+1

@Jeroen同樣的日曆,如果顯示2012年,也會顯示01-01-2013同樣爲2012年的第53周;) –

+0

在我的國家(nl-NL),第52周結束於2012年12月30日,第1周開始31 -12-2012。也許在其他國家是不同的。沒關係。這就是我們的CultureCodes :) – Jeroen

2

因爲它是2012年的第53周。它將根據您使用的日期(31-12-2012)返回過去一年中的那一週。 2013年第1周與2012年第53周同一周。

+0

我明白了。這個函數沒有返回人們在日曆中查看週數時通常使用的值。你知道如何得到正確的週數嗎?畢竟對大多數人來說,第1周的比賽仍然在2012年12月31日開賽 – Jeroen

+2

我使用了這個自定義函數。哪些工作。 http://codebetter.com/petervanooijen/2005/09/26/iso-weeknumbers-of-a-date-a-c-implementation/。但是我仍然沒有得到GetWeekOfYear函數的用處。 – Jeroen

+0

@Jeroen當年的第一週確實開始 - 但是如果你想報告的話,你必須計算一下當週一<= 1月1日的時候。 –