public void StartOfMonthShouldReturnExpectedResult() { var date = new DateTime( 2013, 3, 26 ); var expected = new DateTime( 2013, 3, 1 ); var actual = date.StartOfMonth(); Assert.Equal( expected.Date, actual.Date ); }
public void StartOfMonthWithCalendarShouldReturnExpectedResult() { var date = new DateTime( 2013, 3, 26 ); var calendar = new GregorianFiscalCalendar( 7 ); var expected = new DateTime( 2013, 3, 1 ); var actual = date.StartOfMonth( calendar ); Assert.Equal( expected.Date, actual.Date ); }
/// <summary> /// creates a new msMonth object for the month containing the date /// </summary> /// <param name="date">date within the month</param> public MsMonth(DateTime date) { #if NET20 StartDate = MsDateHelpers.StartOfMonth(date); EndDate = MsDateHelpers.EndOfMonth(date); #else StartDate = date.StartOfMonth(); EndDate = date.EndOfMonth(); #endif }
protected DateTime? FromMonthRelation(string relation, int month, DateTime now, bool isUpperLimit) { switch (relation) { case "this": { var start = now.Month == month ? now.StartOfMonth() : now.Month < month ? now.StartOfMonth().ChangeMonth(month) : now.StartOfMonth().AddYears(1).ChangeMonth(month); return isUpperLimit ? start.EndOfMonth() : start; } case "last": case "past": case "previous": { var start = now.Month > month ? now.StartOfMonth().ChangeMonth(month) : now.StartOfMonth().SubtractYears(1).ChangeMonth(month); return isUpperLimit ? start.EndOfMonth() : start; } case "next": { var start = now.Month < month ? now.StartOfMonth().ChangeMonth(month) : now.StartOfMonth().AddYears(1).ChangeMonth(month); return isUpperLimit ? start.EndOfMonth() : start; } } return null; }
protected DateTimeRange FromMonthRelation(string relation, int month, DateTime now) { switch (relation) { case "this": { var start = now.Month == month ? now.StartOfMonth() : now.Month < month ? now.StartOfMonth().ChangeMonth(month) : now.StartOfMonth().AddYears(1).ChangeMonth(month); return new DateTimeRange(start, start.EndOfMonth()); } case "last": case "past": case "previous": { var start = now.Month > month ? now.StartOfMonth().ChangeMonth(month) : now.StartOfMonth().SubtractYears(1).ChangeMonth(month); return new DateTimeRange(start, start.EndOfMonth()); } case "next": { var start = now.Month < month ? now.StartOfMonth().ChangeMonth(month) : now.StartOfMonth().AddYears(1).ChangeMonth(month); return new DateTimeRange(start, start.EndOfMonth()); } } return null; }
public void TestStartOfMonth() { var wellKnownMonth1 = new DateTime(2009, 2, 11); var startOfWellKnownMonth1 = new DateTime(2009, 2, 1); var wellKnownMonth2 = new DateTime(2007, 10, 20); var startOfWellKnownMonth2 = new DateTime(2007, 10, 1); Assert.IsTrue(wellKnownMonth1.StartOfMonth().Equals(startOfWellKnownMonth1)); Assert.IsTrue(wellKnownMonth2.StartOfMonth().Equals(startOfWellKnownMonth2)); Assert.IsFalse(wellKnownMonth1.StartOfMonth().Equals(startOfWellKnownMonth2)); Assert.IsFalse(wellKnownMonth2.StartOfMonth().Equals(startOfWellKnownMonth1)); }
/// <summary> /// Returns the end of the month /// </summary> public static DateTime EndOfMonth(this DateTime value) { var start = value.StartOfMonth(); return(start.AddMonths(1).AddDays(-1)); }
public void StartOfMonth__The_Start_Of_A_Month_Can_Be_Obtained() { var date = new DateTime(2000, 1, 31, 4, 4, 4); date = date.StartOfMonth(); Assert.IsTrue(date == new DateTime(2000, 1, 1)); }
public static DateTime StartOfMonth( this Calendar calendar, DateTime date ) { Arg.NotNull( calendar, nameof( calendar ) ); Contract.Ensures( calendar.GetYear( Contract.Result<DateTime>() ) == Contract.OldValue( calendar.GetYear( date ) ) ); Contract.Ensures( calendar.GetMonth( Contract.Result<DateTime>() ) == Contract.OldValue( calendar.GetMonth( date ) ) ); return date.StartOfMonth( calendar ); }
public void StartOfMonth() { var start = new DateTime(2011, 1, 1); Assert.AreEqual(start, start.StartOfMonth()); Assert.AreEqual(start, start.AddDays(2).StartOfMonth()); Assert.AreEqual(start, start.AddDays(28).StartOfMonth()); Assert.AreEqual(start, new DateTime(2011, 1, 31).StartOfMonth()); Assert.AreNotEqual(start, start.AddMonths(1).StartOfMonth()); Assert.AreNotEqual(start, start.AddMonths(-1).StartOfMonth()); }