// If you have the milliseconds since the Epoch and want to convert them to a local date using the current local timezone, you can use Instant.ofEpochMilli(long epochMilli) LocalDate date = Instant.ofEpochMilli(longValue).atZone(ZoneId.systemDefault()).toLocalDate(); // but keep in mind that even the system’s default time zone may change, thus the same long value may produce different result in subsequent runs, even on the same machine. // Further, keep in mind that LocalDate, unlike java.util.Date, really represents a date, not a date and time. // Otherwise, you may use a LocalDateTime: LocalDateTime date = LocalDateTime.ofInstant(Instant.ofEpochMilli(longValue), ZoneId.systemDefault());