/// <summary> /// Ham tach ngay truyen vao ra thanh ngay bat dau va ngay ket thuc tuy vao mode xem la gi /// </summary> /// <param name="dateTime"></param> /// <param name="mode"></param> /// <param name="fromDate"></param> /// <param name="toDate"></param> /// <returns></returns> public static bool GetDateTimeByMode(DateTime? dateTime, string mode, out DateTime fromDate, out DateTime toDate) { fromDate = toDate = new DateTime(); try { if (dateTime == null) return false; fromDate = Convert.ToDateTime(dateTime); fromDate = new DateTime(fromDate.Year, fromDate.Month, fromDate.Day, 0, 0, 0); toDate = new DateTime(fromDate.Year, fromDate.Month, fromDate.Day, 23, 59, 59); switch (mode) { case ModeView.Month: // Neu loai thoi gian la thang thi lay ngay dau thang va cuoi thang toDate = fromDate.AddMonths(1).LastDayOfMonth(); toDate = new DateTime(toDate.Year, toDate.Month, toDate.Day, 23, 59, 59); fromDate = (new DateTime(fromDate.Year, fromDate.Month, 1, 0, 0, 0)).AddMonths(-1); break; case ModeView.Week: // Neu loai thoi gian la tuan thi lay ngay dau tuan va cuoi tuan toDate = fromDate.LastDateOfWeek(); toDate = new DateTime(toDate.Year, toDate.Month, toDate.Day, 23, 59, 59); fromDate = fromDate.FirstDateOfWeek(); fromDate = new DateTime(fromDate.Year, fromDate.Month, fromDate.Day, 0, 0, 0); break; } return true; } catch (Exception ex) { LoggerController.WriteLog(System.Runtime.InteropServices.Marshal.GetExceptionCode(), ex, Network.GetIpClient()); } return false; }
public void LastDateOfWeekCulture() { var culture = new CultureInfo("en-US"); var d1 = new DateTime(2013, 2, 7); var d2 = new DateTime(2013, 1, 20); var d3 = new DateTime(2013, 3, 4); var eFwd1 = new DateTime(2013, 2, 9); var eFwd2 = new DateTime(2013, 1, 26); var eFwd3 = new DateTime(2013, 3, 9); var fwd1 = d1.LastDateOfWeek(culture); var fwd2 = d2.LastDateOfWeek(culture); var fwd3 = d3.LastDateOfWeek(culture); Assert.AreEqual(eFwd1, fwd1); Assert.AreEqual(eFwd2, fwd2); Assert.AreEqual(eFwd3, fwd3); }
public void LastDateOfWeek() { var d1 = new DateTime(2013, 2, 7); var d2 = new DateTime(2013, 1, 20); var d3 = new DateTime(2013, 3, 5); var eFwd1 = new DateTime(2013, 2, 10); var eFwd2 = new DateTime(2013, 1, 20); var eFwd3 = new DateTime(2013, 3, 10); var fwd1 = d1.LastDateOfWeek(); var fwd2 = d2.LastDateOfWeek(); var fwd3 = d3.LastDateOfWeek(); Assert.AreEqual(eFwd1, fwd1); Assert.AreEqual(eFwd2, fwd2); Assert.AreEqual(eFwd3, fwd3); }