public static DateTime EndOf(this DateTime dt, TimeUnits unit) { DateTime start = dt.StartOf(unit); DateTime next = start.Add(1, unit); DateTime end = next.PreviousMoment(); return end; }