diff --git a/Elight.Utility/Extensions/ConvertorHelper.cs b/Elight.Utility/Extensions/ConvertorHelper.cs index 8bb0c5a..05f3c49 100644 --- a/Elight.Utility/Extensions/ConvertorHelper.cs +++ b/Elight.Utility/Extensions/ConvertorHelper.cs @@ -140,6 +140,61 @@ namespace Elight.Utility.Extensions DateTime dtResult = dtStart.Add(toNow); return dtResult; } - + + } + + public static class DateHelper + { + public static DateTime GetStartDateOfDay(DateTime date) + { + return date.Date; + } + public static DateTime GetEndDateOfDay(DateTime date) + { + return date.Date.AddDays(1).AddSeconds(-1); + } + public static DateTime GetStartDateOfMonth(DateTime date) + { + return date.AddDays(1 - date.Day).Date; + } + public static DateTime GetEndDateOfMonth(DateTime date) + { + return GetStartDateOfMonth(date).AddMonths(1).AddSeconds(-1); + } + public static DateTime GetStartDateOfYear(DateTime date) + { + return date.AddDays(1 - date.Day).AddMonths(1 - date.Month).Date; + } + public static DateTime GetEndDateOfYear(DateTime date) + { + return GetStartDateOfYear(date).AddYears(1).AddSeconds(-1); + } + public static List GetArrayByDay(DateTime starttime, DateTime endtime) + { + var list = new List(); + for (DateTime dt = starttime; dt.Date <= endtime.Date; dt = dt.AddDays(1)) + { + list.Add(dt.Date); + } + return list; + } + public static List GetArrayByMonth(DateTime starttime, DateTime endtime) + { + var list = new List(); + for (DateTime dt = starttime; dt.Date <= endtime.Date; dt = dt.AddMonths(1)) + { + list.Add(GetStartDateOfMonth(dt.Date)); + } + return list; + } + public static List GetArrayByYear(DateTime starttime, DateTime endtime) + { + var list = new List(); + for (DateTime dt = starttime; dt.Date <= endtime.Date; dt = dt.AddYears(1)) + { + list.Add(GetStartDateOfYear(dt.Date)); + } + return list; + } } }