最有效的方法来计算两个日期之间的周数

正如它在锡上说的那样,我只需要在C#中两个日期之间计算周数(即7天跨度,而不是日历周)的最有效方式。

获取天数除以7。

int weeks = (date1 - date2).TotalDays / 7; 

您可能还有最多6天的剩余时间,不会包含在周数中。

我假设你想在日历的基础上得到这个。 为此,您需要System.Globalization

 DateTime date1 = DateTime.Now; DateTimeFormatInfo dinfo = DateTimeFormatInfo.CurrentInfo; dinfo.Calendar.GetWeekOfYear(date1, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday) 

根据您的需要,您必须设置日历周规则和一周的第一天。

这为您提供了日历的周数。 你可以在你的另一个日期得到相同的,不同的是你的周数

希望这对你有所帮助。

试试这个来获取天数:

 TimeSpan ts = date1.Subtract(date2); int dateDiff = ts.Days(); 

然后,就像@Oded所说,除以7

 int totalWeeks = (int) dateDiff / 7; 

干杯!