前两天计算获取2019有多少周,现有的代码算出来有54周,看的我一脸懵逼。
以周一为每周的第一天
public static int GetYearWeekCount(int year){ var dateTime = DateTime.Parse(year + "-01-01"); var firstDayOfWeek = Convert.ToInt32(dateTime.DayOfWeek);//得到该年的第一天是周几 [周日、周一、周二...周六] if (firstDayOfWeek == 1) { var countDay = dateTime.AddYears(1).AddDays(-1).DayOfYear; var countWeek = countDay / 7 + 1; return countWeek; } else { //转换周日为最后一天 if (firstDayOfWeek == 0) { firstDayOfWeek = 7; } var countDay = dateTime.AddYears(1).AddDays(-1).DayOfYear; countDay -= (8 - firstDayOfWeek); var countWeek = countDay / 7 + 2; return countWeek; }}