将时间戳转换为日期和时间
YCM API 响应结果中返回的是时间戳,而不是具体的日期和时间。如有需要,你可以将时间戳转换为日期和时间。本文提供了在 JAVA 中转换时间戳的示例。
使用 JDK8 或更新版本转换时间戳
/**
* 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
}
使用早期版本 JDK 转换时间戳
/**
* 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);
}