LegacyConverters { public static LocalDateTime toLocalDateTime( Date date ) { Calendar c = Calendar.getInstance(); c.setTime( date ); int year = c.get( Calendar.YEAR ); int month = c.get( Calendar.MONTH ) + 1; int day = c.get( Calendar.DAY_OF_MONTH ); int hour = c.get( Calendar.HOUR_OF_DAY ); int minute = c.get( Calendar.MINUTE ); int second = c.get( Calendar.SECOND ); int millis = c.get( Calendar.MILLISECOND ); return LocalDateTime.of( year, month, day, hour, minute, second, millis * milliToNanoConst ); }  static ZonedDateTime toZonedDateTime( Date date ); static ZonedDateTime toZonedDateTime( Date date, ZoneId zoneId ); static LocalDateTime toLocalDateTime( Date date ); static LocalDate toLocalDate( Date date ); static LocalTime toLocalTime( Date date ); static YearMonth toYearMonth( Date date ); static MonthDay toMonthDay( Date date ); static Date toDate( ZonedDateTime dateTime ); static Date toDate( Instant instant ); static Timestamp toTimestamp( ZonedDateTime dateTime ); static Timestamp toTimestamp( Instant instant );  }
@Test public void dateToLocalDateTimeTest() { long epochMillis = 31415926535L; Date date = new Date( epochMillis ); Calendar c = Calendar.getInstance(); c.setTime( date ); int year = c.get( Calendar.YEAR ); int month = c.get( Calendar.MONTH ) + 1; int day = c.get( Calendar.DAY_OF_MONTH ); int hour = c.get( Calendar.HOUR_OF_DAY ); int minute = c.get( Calendar.MINUTE ); int second = c.get( Calendar.SECOND ); int millis = c.get( Calendar.MILLISECOND ); LocalDateTime localDateTime = toLocalDateTime( date ); assertEquals( localDateTime.getYear(), year ); assertEquals( localDateTime.getMonthValue(), month ); assertEquals( localDateTime.getDayOfMonth(), day ); assertEquals( localDateTime.getHour(), hour ); assertEquals( localDateTime.getMinute(), minute ); assertEquals( localDateTime.getSecond(), second ); assertEquals( localDateTime.getNano(), millis * 1000000 ); }