public void Intersection() { DateInterval januaryToAugust = new DateInterval( new LocalDate(2017, 1, 1), new LocalDate(2017, 8, 31)); DateInterval juneToNovember = new DateInterval( new LocalDate(2017, 6, 1), new LocalDate(2017, 11, 30)); DateInterval juneToAugust = new DateInterval( new LocalDate(2017, 6, 1), new LocalDate(2017, 8, 31)); var result = Snippet.For(januaryToAugust.Intersection(juneToNovember)); Assert.AreEqual(juneToAugust, result); }
public void Union() { DateInterval firstInterval = new DateInterval( new LocalDate(2014, 3, 7), new LocalDate(2014, 3, 20)); DateInterval secondInterval = new DateInterval( new LocalDate(2014, 3, 15), new LocalDate(2014, 3, 23)); DateInterval?overlappingInterval = Snippet.For(firstInterval.Union(secondInterval)); Assert.AreEqual( new DateInterval( new LocalDate(2014, 3, 7), new LocalDate(2014, 3, 23)), overlappingInterval); }
public void IsDaylightSavingTime() { // Europe/Dublin transitions from UTC+1 to UTC+0 at 2am (local) on 2017-10-29 // However, Euopre/Dublin is also odd in terms of having its standard time as *summer* time, // and its winter time as "daylight saving time". The saving offset in winter is -1 hour, // as opposed to the more common "+1 hour in summer". var dt = new LocalDateTime(2017, 10, 29, 1, 45, 0); DateTimeZone dublin = DateTimeZoneProviders.Tzdb["Europe/Dublin"]; ZonedDateTime beforeTransition = new ZonedDateTime(dt, dublin, Offset.FromHours(1)); Assert.AreEqual(false, Snippet.For(beforeTransition.IsDaylightSavingTime())); // Same local time, different offset - so a different instant, after the transition. ZonedDateTime afterTransition = new ZonedDateTime(dt, dublin, Offset.FromHours(0)); Assert.AreEqual(true, Snippet.For(afterTransition.IsDaylightSavingTime())); }
public void AddDuration() { // Europe/Dublin transitions from UTC+1 to UTC+0 at 2am (local) on 2017-10-29 var dt = new LocalDateTime(2017, 10, 29, 1, 45, 0); DateTimeZone dublin = DateTimeZoneProviders.Tzdb["Europe/Dublin"]; ZonedDateTime beforeTransition = new ZonedDateTime(dt, dublin, Offset.FromHours(1)); var result = Snippet.For(ZonedDateTime.Add(beforeTransition, Duration.FromHours(1))); Assert.AreEqual(new LocalDate(2017, 10, 29), result.Date); // Adding an hour of elapsed time takes us across the DST transition, so we have // the same local time (shown on a clock) but a different offset. Assert.AreEqual(new ZonedDateTime(dt, dublin, Offset.FromHours(0)), result); // The + operator and Plus instance method are equivalent to the Add static method. var result2 = Snippet.For(beforeTransition + Duration.FromHours(1)); var result3 = Snippet.For(beforeTransition.Plus(Duration.FromHours(1))); Assert.AreEqual(result, result2); Assert.AreEqual(result, result3); }
public void ExplicitCalendar() { LocalDate date = Snippet.For(new LocalDate(2010, 6, 16, CalendarSystem.Iso)); Assert.AreEqual(new LocalDate(2010, 6, 16), date); }
public void Minus() { LocalDate date = Snippet.For(new LocalDate(2010, 6, 16).Minus(Period.FromDays(1))); Assert.AreEqual(new LocalDate(2010, 6, 15), date); }
public void Subtract() { LocalDate date = Snippet.For(LocalDate.Subtract(new LocalDate(2010, 2, 28), Period.FromMonths(1))); Assert.AreEqual(new LocalDate(2010, 1, 28), date); }
public void Plus() { LocalDate date = Snippet.For(new LocalDate(2010, 1, 30).Plus(Period.FromMonths(1))); Assert.AreEqual(new LocalDate(2010, 2, 28), date); }
public void ToYearMonth() { YearMonth yearMonth = Snippet.For(new LocalDate(2010, 6, 16).ToYearMonth()); Assert.AreEqual(new YearMonth(2010, 6), yearMonth); }
public void FromYearMonthWeekAndDay() { LocalDate date = Snippet.For(LocalDate.FromYearMonthWeekAndDay(2010, 6, 3, IsoDayOfWeek.Wednesday)); Assert.AreEqual(new LocalDate(2010, 6, 16), date); }
public void BeforeCommonEra() { LocalDate date = Snippet.For(new LocalDate(Era.BeforeCommon, 2010, 6, 16)); Assert.AreEqual(new LocalDate(Era.BeforeCommon, 2010, 6, 16), date); }
public void TestToString() { LocalDateTime dt = new LocalDateTime(2010, 6, 16, 16, 20); Assert.AreEqual("2010-06-16T16:20:00", Snippet.For(dt.ToString("yyyy-MM-dd'T'HH:mm:ss", CultureInfo.InvariantCulture))); }
public void ConstructionFromSeconds() { Offset offset = Snippet.For(Offset.FromSeconds(450)); Assert.AreEqual(450, offset.Seconds); }
public void ConstructionFromHoursAndMinutes() { Offset offset = Snippet.For(Offset.FromHoursAndMinutes(1, 1)); Assert.AreEqual(3660, offset.Seconds); }
public void Construction() { LocalTime time = Snippet.For(new LocalTime(16, 20, 0)); Assert.AreEqual("16:20:00", time.ToString("HH:mm:ss", CultureInfo.InvariantCulture)); }