正如它在锡上说的那样,我只需要在C#的两个日期之间以最有效的方式计算数周(即7天跨度,而不是日历周)。
答案 0 :(得分:45)
获取天数并除以7。
int weeks = (date1 - date2).TotalDays / 7;
您可能还有最多6天的剩余时间,但不包括在周数中。
答案 1 :(得分:6)
我假设你想在日历的基础上得到这个。为此,您需要System.Globalization
DateTime date1 = DateTime.Now;
DateTimeFormatInfo dinfo = DateTimeFormatInfo.CurrentInfo;
dinfo.Calendar.GetWeekOfYear(date1, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday)
根据您的需要,您必须设置日历周规则和一周的第一天。
这为您提供了日历的周数。您可以在另一个日期获得相同的信息,不同的是您的周数
希望这会对你有所帮助。
答案 2 :(得分:3)
尝试此操作以获取天数:
TimeSpan ts = date1.Subtract(date2);
int dateDiff = ts.Days();
然后,就像@Oded所说,除以7
int totalWeeks = (int) dateDiff / 7;
干杯!