public final boolean tryConvertTaiToUtc(@Nonnull JulianDate date, @Nonnull JulianDate[] result) { LeapSecond toFind = new LeapSecond(date.getTotalDays(), 0.0); int index = Collections.binarySearch(m_leapSeconds, toFind, s_leapSecondComparer); if (index < 0) {
@Test public final void gregorianDateToJulian() { GregorianDate gregorianDate = new GregorianDate(2000, 1, 1, 12, 0, 0D); JulianDate julianDate = new JulianDate(gregorianDate); Assert.assertEquals(2451545.0, julianDate.getTotalDays(), 0d); gregorianDate = new GregorianDate(2006, 1, 1, 0, 0, 0D); julianDate = new JulianDate(gregorianDate); Assert.assertEquals(2453736.5, julianDate.getTotalDays(), 0d); gregorianDate = new GregorianDate(1973, 1, 1, 0, 0, 0D); julianDate = new JulianDate(gregorianDate); Assert.assertEquals(2441683.5, julianDate.getTotalDays(), 0d); ZonedDateTime localDateTime = DateTimeHelper.create(2000, 1, 1, 12, 0, 0, ZoneId.systemDefault()); ZonedDateTime utc = DateTimeHelper.toUniversalTime(localDateTime); julianDate = new JulianDate(localDateTime); gregorianDate = julianDate.toGregorianDate(); AssertHelper.assertEquals(new GregorianDate(utc), gregorianDate); }
/** * Tests conversion from a {@link ZonedDateTime} to a {@link JulianDate}. */ @Test public final void dateTimeToJulian() { ZonedDateTime dateTime = DateTimeHelper.create(2000, 1, 1, 12, 0, 0); JulianDate julianDate = new JulianDate(dateTime); Assert.assertEquals(2451545.0, julianDate.getTotalDays(), 0d); dateTime = DateTimeHelper.create(2006, 1, 1, 0, 0, 0); julianDate = new JulianDate(dateTime); Assert.assertEquals(2453736.5, julianDate.getTotalDays(), 0d); dateTime = DateTimeHelper.create(1973, 1, 1, 0, 0, 0); julianDate = new JulianDate(dateTime); Assert.assertEquals(2441683.5, julianDate.getTotalDays(), 0d); ZonedDateTime localDateTime = DateTimeHelper.create(2000, 1, 1, 12, 0, 0, ZoneId.systemDefault()); ZonedDateTime utc = DateTimeHelper.toUniversalTime(localDateTime); julianDate = new JulianDate(localDateTime); dateTime = julianDate.toDateTime(); AssertHelper.assertEquals(utc, dateTime); }
@Test public final void testConstructor() { LeapSecond leapSecond = new LeapSecond(2451545.0, 100.0); Assert.assertEquals(2451545.0, leapSecond.getDate().getTotalDays(), 0d); Assert.assertEquals(100.0, leapSecond.getTotalTaiOffsetFromUtc(), 0d); AssertHelper.assertEquals(TimeStandard.COORDINATED_UNIVERSAL_TIME, leapSecond.getDate().getStandard()); }
/** * Tests the {@link TimeInterval#toTimeStandard} method. */ @Test public final void testToTimeStandard() { JulianDate start = new JulianDate(2451545.0, TimeStandard.COORDINATED_UNIVERSAL_TIME); JulianDate stop = new JulianDate(2451546.0, TimeStandard.COORDINATED_UNIVERSAL_TIME); TimeInterval interval = new TimeInterval(start, stop); TimeInterval result = interval.toTimeStandard(TimeStandard.COORDINATED_UNIVERSAL_TIME); AssertHelper.assertEquals(result.getStart().getStandard(), TimeStandard.COORDINATED_UNIVERSAL_TIME); AssertHelper.assertEquals(result.getStop().getStandard(), TimeStandard.COORDINATED_UNIVERSAL_TIME); Assert.assertEquals(result.getStart().getTotalDays(), 2451545.0, Constants.Epsilon15); Assert.assertEquals(result.getStop().getTotalDays(), 2451546.0, Constants.Epsilon15); result = interval.toTimeStandard(TimeStandard.INTERNATIONAL_ATOMIC_TIME); AssertHelper.assertEquals(result.getStart().getStandard(), TimeStandard.INTERNATIONAL_ATOMIC_TIME); AssertHelper.assertEquals(result.getStop().getStandard(), TimeStandard.INTERNATIONAL_ATOMIC_TIME); AssertHelper.assertNotEqual(result.getStart().getTotalDays(), 2451545.0); AssertHelper.assertNotEqual(result.getStop().getTotalDays(), 2451546.0); TimeInterval empty = new TimeInterval(new JulianDate(2451545.0, TimeStandard.COORDINATED_UNIVERSAL_TIME), new JulianDate(2451545.0, TimeStandard.COORDINATED_UNIVERSAL_TIME)); Assert.assertTrue(empty.getIsEmpty()); result = empty.toTimeStandard(TimeStandard.INTERNATIONAL_ATOMIC_TIME); Assert.assertTrue(result.getIsEmpty()); }