Convert Timestamp to Local Date and Time
The YCM API returns response results with timestamp instead of detailed date and time, you can convert the timestamp to the local date and time as needed. This topic provides examples of converting timestamp to date in Java.
Convert timestamp using JDK8 or the later versions
/**
* JDK8 UNIX Time to LocalDateTime
*/
public void testUnixTimeToLocalDateTime() {
//unix time
Long unixTime = 1636077838L;
//millis time
Long millisTime = unixTime * 1000;
Instant instant = Instant.ofEpochMilli(millisTime);
// system default time zone
ZoneId defaultZoneId = ZoneId.systemDefault();
//custom time zone
ZoneId customZoneId = ZoneId.of("America/New_York");
LocalDateTime defaultLocalDateTime = LocalDateTime.ofInstant(instant, defaultZoneId);
LocalDateTime customLocalDateTime = LocalDateTime.ofInstant(instant, customZoneId);
//String s = defaultLocalDateTime.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME);
System.out.println(defaultLocalDateTime); //2021-11-05T10:03:58
System.out.println(customLocalDateTime); //2021-11-04T22:03:58
}
Convert timestamp using the former JDK versions
/**
* UNIX Time to Date
*/
public void testUnixTimeToDate() {
Long unixTime = 1636077838L;
// time formats
String formats = "yyyy-MM-dd HH:mm:ss";
Long timestamp = unixTime * 1000;
String date = new SimpleDateFormat(formats, Locale.CHINA).format(new Date(timestamp)); // 2021-11-05 10:03:58
System.out.println(date);
}