【发布时间】:2012-09-24 07:58:06
【问题描述】:
为什么下面的伪代码返回 2 作为周数?不应该是1吗?
string x = cal.GetWeekOfYear(02.01.2012 as datetime, cultureInfo.currentculture.DateTimeFormat.CalendarWeekRule, CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek).toString();
【问题讨论】:
-
视情况而定。在您的计算机上,您的用户帐户下,
CultureInfo.CurrentCulture是什么? -
对,根据日历设置,1 月 1 日(星期日)可能是第 1 周的结束(和开始!)。
-
您可以通过检查
CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek的值来检查这一点 -
如果 FirstDayOfWeek = Monday 并且 CalendarWeekRule = FirstFourDayWeek 返回 1。
-
@all,一周的第一天是“星期一”,当前文化是 TR-tr,CalendarWeekRule 是 FirstDay,但我无法通过查看这些值来弄清楚。
标签: c# datetime week-number