public void PlusYear_Simple() { LocalDateTime start = new LocalDateTime(2011, 6, 26, 12, 15, 8); LocalDateTime expected = new LocalDateTime(2016, 6, 26, 12, 15, 8); Assert.AreEqual(expected, start.PlusYears(5)); expected = new LocalDateTime(2006, 6, 26, 12, 15, 8); Assert.AreEqual(expected, start.PlusYears(-5)); }
public void PlusYear_LeapToNonLeap() { LocalDateTime start = new LocalDateTime(2012, 2, 29, 12, 15, 8); LocalDateTime expected = new LocalDateTime(2013, 2, 28, 12, 15, 8); Assert.AreEqual(expected, start.PlusYears(1)); expected = new LocalDateTime(2011, 2, 28, 12, 15, 8); Assert.AreEqual(expected, start.PlusYears(-1)); }
public static RaidTime Parse(string value) { foreach (string format in Formats) { var parse = LocalDateTimePattern.CreateWithInvariantCulture(format).Parse(value); if (!parse.Success) { continue; } var localDt = new LocalDateTime(DateTimeOffset.Now.Year, parse.Value.Month, parse.Value.Day, parse.Value.Hour, parse.Value.Minute); var nowLocalDt = new LocalDateTime(DateTimeOffset.Now.Year, DateTimeOffset.Now.Month, DateTimeOffset.Now.Day, DateTimeOffset.Now.Hour, DateTimeOffset.Now.Minute); if (localDt.CompareTo(nowLocalDt) <= 0) { localDt = localDt.PlusYears(1); } int offset = -8; if (TimeZoneInfo.Local.IsDaylightSavingTime(localDt.ToDateTimeUnspecified())) { offset = -7; } var offsetDt = new OffsetDateTime(localDt, Offset.FromHours(offset)); return(new RaidTime(offsetDt)); } throw new FormatException("Couldn't parse value to any format"); }
public void PlusYear_LeapToLeap() { LocalDateTime start = new LocalDateTime(2012, 2, 29, 12, 15, 8); LocalDateTime expected = new LocalDateTime(2016, 2, 29, 12, 15, 8); Assert.AreEqual(expected, start.PlusYears(4)); }
public void PlusYears_Simple() { var calendar = CalendarSystem.GetIslamicCalendar(IslamicLeapYearPattern.Base15, IslamicEpoch.Civil); LocalDateTime start = new LocalDateTime(5, 8, 20, 2, 0, calendar); LocalDateTime expectedEnd = new LocalDateTime(10, 8, 20, 2, 0, calendar); Assert.AreEqual(expectedEnd, start.PlusYears(5)); }
public LocalDateTime?ComputeNextExecutionTime(LocalDateTime lastExecutionTime) { var currentYearExecutionTime = new LocalDateTime(lastExecutionTime.Year, this._monthOfYear, this._dayOfMonth, this._hourOfDay, this._minuteOfHour); if (lastExecutionTime < currentYearExecutionTime) { return(currentYearExecutionTime); } return(currentYearExecutionTime.PlusYears(1)); }
public void PlusYears_DoesNotTruncateFromOneLeapYearToAnother() { var calendar = CalendarSystem.GetIslamicCalendar(IslamicLeapYearPattern.Base15, IslamicEpoch.Civil); Assert.IsTrue(calendar.IsLeapYear(2)); Assert.IsTrue(calendar.IsLeapYear(5)); LocalDateTime start = new LocalDateTime(2, 12, 30, 2, 0, calendar); LocalDateTime expectedEnd = new LocalDateTime(5, 12, 30, 2, 0, calendar); Assert.AreEqual(expectedEnd, start.PlusYears(3)); }
public void PlusYears_TruncatesAtLeapYear() { var calendar = CalendarSystem.GetIslamicCalendar(IslamicLeapYearPattern.Base15, IslamicEpoch.Civil); Assert.IsTrue(calendar.IsLeapYear(2)); Assert.IsFalse(calendar.IsLeapYear(3)); LocalDateTime start = new LocalDateTime(2, 12, 30, 2, 0, calendar); LocalDateTime expectedEnd = new LocalDateTime(3, 12, 29, 2, 0, calendar); Assert.AreEqual(expectedEnd, start.PlusYears(1)); }
public LocalDateTime PlusYears() => Sample.PlusYears(3);
public IDateTime PlusYears(int years) { return(new DateTime(_localDateTime.PlusYears(years))); }
public LocalDateTime PlusYears() { return(Sample.PlusYears(3)); }
public static LocalDateTime WithYear(this LocalDateTime instance, int year) { return(instance.PlusYears(year - instance.Year)); }
public void PlusYears() { Sample.PlusYears(3).Consume(); }
/// <summary> /// Add years /// </summary> /// <param name="ld"></param> /// <param name="years"></param> /// <returns></returns> public static LocalDateTime AddYears(this LocalDateTime ld, int years) => ld.PlusYears(years);