最有效的方法来计算两个日期之间的周数
正如它在锡上说的那样,我只需要在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;
干杯!