/// <summary> /// 最近季度的 /// </summary> /// <param name="input"></param> /// <returns></returns> public static DatePair GetQuarterArea(this DateTime input) { DatePair ret = new DatePair(); int month = input.Month; if (month >= 1 & month <= 3) { ret.BegDate = new DateTime(input.Year, 1, 1); ret.EndTDate = new DateTime(input.Year, 4, 1); } else if (month >= 4 & month <= 6) { ret.BegDate = new DateTime(input.Year, 4, 1); ret.EndTDate = new DateTime(input.Year, 7, 1); } else if (month >= 7 & month <= 9) { ret.BegDate = new DateTime(input.Year, 7, 1); ret.EndTDate = new DateTime(input.Year, 10, 1); } else { ret.BegDate = new DateTime(input.Year, 10, 1); ret.EndTDate = new DateTime(input.Year, 1, 1).AddYears(1); } return(ret); }
/// <summary> /// 最近本年的 /// </summary> /// <param name="input"></param> /// <returns></returns> public static DatePair GetYearArea(this DateTime input) { DatePair ret = new DatePair() { BegDate = new DateTime(input.Year, 1, 1), EndTDate = new DateTime(input.Year + 1, 1, 1) }; return(ret); }
/// <summary> /// 最近当月的 /// </summary> /// <param name="input"></param> /// <returns></returns> public static DatePair GetMonthArea(this DateTime input) { DatePair ret = new DatePair(); ret.BegDate = new DateTime(input.Year, input.Month, 1); ret.EndTDate = ret.BegDate.AddMonths(1); return(ret); }
/// <summary> /// 最近两天 /// </summary> /// <param name="input"></param> /// <returns></returns> public static DatePair Get2DayArea(this DateTime input) { DatePair ret = new DatePair(); ret.BegDate = input.Date.AddDays(-1); ret.EndTDate = input.Date.AddDays(1); return(ret); }
/// <summary> /// 最近本周 /// </summary> /// <param name="input"></param> /// <returns></returns> public static DatePair GetWeek(this DateTime input) { int DayOfWeekint = (int)input.Date.DayOfWeek; var a = input.Date.AddDays((-1) * DayOfWeekint + 1); var b = input.Date.AddDays((7 - DayOfWeekint) + 1); DatePair model = new DatePair() { BegDate = a, EndTDate = b }; return(model); }
/// <summary> /// 根据区间找到月的区间列表 /// </summary> /// <param name="begTime"></param> /// <param name="endTime"></param> /// <returns></returns> public static List <DatePair> GetMonthList(DateTime begTime, DateTime endTime) { List <DatePair> list = new List <MathSoftCommonLib.DatePair>(); DateTime begTime1 = new DateTime(begTime.Year, begTime.Month, 1); DateTime endDate1 = new DateTime(endTime.Year, endTime.Month, 1); for (DateTime a = begTime1; a <= endDate1; a = a.AddMonths(1)) { DatePair pair = new DatePair() { BegDate = a, EndTDate = a.AddMonths(1) }; list.Add(pair); } return(list); }
/// <summary> /// 根据区间找到天的区间列表 /// </summary> /// <param name="begTime"></param> /// <param name="endTime"></param> /// <returns></returns> public static List <DatePair> GetDayList(DateTime begTime, DateTime endTime) { List <DatePair> list = new List <DatePair>(); DateTime begDate = begTime.Date; DateTime endDate = endTime.Date; for (DateTime a = begDate; a <= endDate; a = a.AddDays(1)) { DatePair pair = new DatePair() { BegDate = a, EndTDate = a.AddDays(1) }; list.Add(pair); } ; return(list); }
/// <summary> /// 根据区间找到年的区间列表 /// </summary> /// <param name="begTime"></param> /// <param name="endTime"></param> /// <returns></returns> public static List <DatePair> GetYearsList(DateTime begTime, DateTime endTime) { List <DatePair> list = new List <MathSoftCommonLib.DatePair>(); int begYear = begTime.Year; int endYear = endTime.Year; IEnumerable <int> listYear = Enumerable.Range(begYear, endYear - begYear + 1); foreach (var item in listYear) { DatePair pair = new DatePair() { BegDate = new DateTime(item, 1, 1), EndTDate = new DateTime(item, 1, 1).AddYears(1) }; list.Add(pair); } return(list); }
/// <summary> /// 根据区间找到周的区间列表 如果不到周的就按照周围日期补齐 /// </summary> /// <param name="begTime"></param> /// <param name="endTime"></param> /// <returns></returns> public static List <DatePair> GetWeekList(DateTime begTime, DateTime endTime) { List <DatePair> list = new List <MathSoftCommonLib.DatePair>(); int DayOfWeekint1 = (int)begTime.Date.DayOfWeek; int DayOfWeekint2 = (int)endTime.Date.DayOfWeek; var beg = begTime.Date.AddDays((-1) * DayOfWeekint1 + 1); var end = endTime.Date.AddDays((7 - DayOfWeekint2) + 1); for (var a = beg; a < end; a = a.AddDays(7)) { DatePair obj = new DatePair() { BegDate = beg, EndTDate = beg.AddDays(6) }; list.Add(obj); } return(list); }