获取 本周、本月、本年 的开始或结束时间
public class DateTimeUtil{public static string GetStarTimetByType(string TimeType, DateTime NowTime){switch (TimeType){case "Week":return NowTime.AddDays((7 - (int)NowTime.DayOfWeek) % 7 - 7 + 1).ToString("yyyy-MM-dd 00:00:00");case "Month":return NowTime.AddDays(-NowTime.Day + 1).ToString("yyyy-MM-dd 00:00:00");case "Year":return NowTime.AddDays(-NowTime.DayOfYear + 1).ToString("yyyy-MM-dd 00:00:00");default://出错啦!!!throw new NotImplementedException();}}public static string GetEndTimeByType(string TimeType, DateTime NowTime){switch (TimeType){case "Week":return NowTime.AddDays((7 - (int)NowTime.DayOfWeek) % 7).ToString("yyyy-MM-dd 23:59:59");case "Month":return NowTime.AddDays(-NowTime.AddMonths(1).Day + 1).AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd 23:59:59");case "Year":return NowTime.AddDays(-NowTime.DayOfYear + 1).AddYears(1).AddDays(-1).ToString("yyyy-MM-dd 23:59:59");default://出错啦!!!throw new NotImplementedException();}}public static Tuple<DateTime, DateTime> GetWeeks(int? week, int? month){DateTime dt = DateTime.Parse($"{DateTime.Now.Year}-{month.Value}-{DateTime.Now.Day}");string[] arrDate0 = new string[6];string[] arrDate1 = new string[6];int year = dt.Year;DateTime weekStart = new DateTime(year, month.Value, 1);DateTime monEnd = weekStart.AddMonths(1).AddDays(-1);int i = 1;int dayOfWeek = Convert.ToInt32(weekStart.DayOfWeek.ToString("d"));DateTime weekEnd = dayOfWeek == 0 ? weekStart : weekStart.AddDays(7 - dayOfWeek);string content = "";arrDate0[0] = weekStart.ToString("yyyy-MM-dd 00:00:00");arrDate1[0] = weekEnd.ToString("yyyy-MM-dd 23:59:59");while (weekEnd.AddDays(1) <= monEnd){i++;weekStart = weekEnd.AddDays(1);weekEnd = weekEnd.AddDays(7) > monEnd ? monEnd : weekEnd.AddDays(7);arrDate0[i - 1] = weekStart.ToString("yyyy-MM-dd 00:00:00");arrDate1[i - 1] = weekEnd.ToString("yyyy-MM-dd 23:59:59");}content += year + "年" + month + "月共有" + i + "周\n";return Tuple.Create(DateTime.Parse(arrDate0[week.Value]), DateTime.Parse(arrDate1[week.Value]));}}