【发布时间】:2012-04-11 08:49:06
【问题描述】:
我有以下代码来获取 DateTime 对象时间中给出的一年中的周数
public static int WeeksInYear(DateTime date)
{
GregorianCalendar cal = new GregorianCalendar(GregorianCalendarTypes.Localized);
return cal.GetWeekOfYear(date, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
}
我给函数指定日期 2012 年 1 月 1 日,它应该返回第 1 周,但它返回第 52 周。我似乎不知道为什么。有人知道为什么吗?
【问题讨论】:
-
试试这个
cal.GetWeekOfYear(date, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Sunday) -
@RaghuveerGuthikonda:这只适用于这种特殊情况。例如。 2013 年 1 月 1 日可能是星期六,它不会工作。这只是日历周的计算方式。 2012 年 1 月 1 日是第 52 周,它应该在那里。
标签: c# windows datetime gregorian-calendar