1 /// <summary>
2 /// 获取某年第几周的第一天和最后一天的日期
3 /// </summary>
4 /// <param name="year">年份</param>
5 /// <param name="weekNumber">第几周</param>
6 /// <returns></returns>
7 public Tuple<DateTime, DateTime> GetFirstEndDayOfWeek(int year, int weekNumber)
8 {
9 System.Globalization.Calendar calendar = System.Globalization.CultureInfo.CurrentCulture.Calendar;
10 DateTime firstOfYear = new DateTime(year, 1, 1, calendar);//获取这一年的第一天日期
11 DateTime targetDay = calendar.AddWeeks(firstOfYear, weekNumber - 1);//加上weekNumber - 1 周的日期
12 DayOfWeek firstDayOfWeek = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek;//星期一:Monday
13 //获取第weekNumber周第一天的日期
14 while (targetDay.DayOfWeek != firstDayOfWeek)
15 {
16 targetDay = targetDay.AddDays(-1);
17 }
18 return Tuple.Create<DateTime, DateTime>(targetDay, targetDay.AddDays(6));
19 }
1 /// <summary>
2 /// 计算时间差
3 /// </summary>
4 /// <param name="dateBegin">开始时间</param>
5 /// <param name="dateEnd">结束时间</param>
6 /// <returns>返回(天)单位,比如: 1天</returns>
7 private int ExecDateDiff(DateTime dateBegin, DateTime dateEnd)
8 {
9 TimeSpan ts1 = new TimeSpan(dateBegin.Ticks);
10 TimeSpan ts2 = new TimeSpan(dateEnd.Ticks);
11 TimeSpan ts3 = ts1.Subtract(ts2).Duration();
12 //你想转的格式
13 return ts3.Days;
14 }