public void AmbiguousStartOfDay_TransitionAtMidnight() { // Occurrence before transition var expected = new ZonedDateTime(new LocalDateTime(2000, 6, 1, 0, 0).WithOffset(Offset.FromHours(-2)), TransitionBackwardToMidnightZone); var actual = TransitionBackwardToMidnightZone.AtStartOfDay(TransitionDate); Assert.AreEqual(expected, actual); Assert.AreEqual(expected, TransitionDate.AtStartOfDayInZone(TransitionBackwardToMidnightZone)); }
private static Interval GetIntervalForDate(LocalDate date, DateTimeZone zone) { var start = date.AtStartOfDayInZone(zone).ToInstant(); var end = date.PlusDays(1).AtStartOfDayInZone(zone).ToInstant(); return(new Interval(start, end)); }
private static (DateTime start, DateTime end) ResolveDayRange(LocalDate input, DateTimeZone zone) { Instant dayStart = input.AtStartOfDayInZone(zone).ToInstant(); Instant dayEnd = input.PlusDays(1).AtStartOfDayInZone(zone).ToInstant(); return(dayStart.ToDateTimeUtc(), dayEnd.ToDateTimeUtc()); }