I'm trying to convert a Date
instance to a LocalTime
instance.
// Create the Date
Date date = format.parse("2011-02-18 05:00:00.0");
// Convert to Calendar
Calendar cal = Calendar.getInstance();
cal.setTime(date);
// Convert Calendar to LocalTime
Instant instant = Instant.ofEpochMilli(cal.getTimeInMillis());
LocalTime convert = LocalDateTime.ofInstant(instant, ZoneId.systemDefault()).toLocalTime();
I don't get a compiler error but the LocalTime
instance values are wrong.
I think it does not work because Date
stores time in fasttime
instead of cdate
.
I'm using JDK version 1.8.
This is also quite simple:
LocalTime time = LocalDateTime.ofInstant(new Date().toInstant(),
ZoneId.systemDefault()).toLocalTime();