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

McA*_*Man 26 c# datetime

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

Ode*_*ded 50

获取天数除以7.

int weeks = (date1 - date2).TotalDays / 7;
Run Code Online (Sandbox Code Playgroud)

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

  • @DAG - 你读过这个问题吗?这不是它所要求的。 (2认同)
  • 我得到“无法将 double 转换为 int”;我正在尝试: int numberOfWeeks = Convert.ToInt32(Math.Round((_delPerfEndDate - _delPerfBeginDate).TotalDays / 7)); (2认同)

V4V*_*tta 6

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

DateTime date1 = DateTime.Now;
DateTimeFormatInfo dinfo = DateTimeFormatInfo.CurrentInfo;
dinfo.Calendar.GetWeekOfYear(date1, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday)
Run Code Online (Sandbox Code Playgroud)

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

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

希望这对你有所帮助.