我的申请需要一个正确的日历周。这是我的尝试:
DateTime d = new DateTime(2013,12,31);
CultureInfo CUI = CultureInfo.CurrentCulture;
Label1.Text = CUI.Calendar.GetWeekOfYear(d, CUI.DateTimeFormat.CalendarWeekRule, CUI.DateTimeFormat.FirstDayOfWeek).ToString();
现在我得到了53,但这对今年来说是错误的。 正确地说它应该是第一个日历周。
2015年12月31日至2013年12月31日,我们有下一次53日历周。
答案 0 :(得分:2)
您可以使用此方法返回1:
public static int GetIso8601WeekOfYear(DateTime time)
{
DayOfWeek day = CultureInfo.InvariantCulture.Calendar.GetDayOfWeek(time);
if (day >= DayOfWeek.Monday && day <= DayOfWeek.Wednesday)
{
time = time.AddDays(3);
}
return CultureInfo.InvariantCulture.Calendar.GetWeekOfYear(time, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
}