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

时间:2011-05-05 05:55:51

标签: c# datetime

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

3 个答案:

答案 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;

干杯!