1.LocalDateTime是Java8的新特性之一,属于当前时区的时间。
2.UTC是世界的标准时间,0区的时间,我们中国北京时间在东八区,所有两者之前相差八小时
在Java中转换的方式有
/**
* 时区转换
* @param localDateTime
* @return
*/
public static ZonedDateTime tranLocalTime(LocalDateTime localDateTime) {
ZoneId zoneId = ZoneId.systemDefault();
ZonedDateTime zonedDateTime = ZonedDateTime.of(localDateTime, zoneId);
ZonedDateTime utcDateTime = zonedDateTime.withZoneSameInstant(ZoneId.of("UTC"));
return utcDateTime;
}
public static String zonedDateTimeToString(ZonedDateTime zonedDateTime){
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd'T'HHmmss'Z'");
if(zonedDateTime != null){
return zonedDateTime.format(formatter);
}
return "";
}
时间格式的转换 yyyyMMdd’T’HHmmss’Z’
public static Date dateUTC2LocalString(String str) {
SimpleDateFormat utcDateFormat =new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'");//输入UTC时间格式
utcDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date=null;
try {
date=utcDateFormat.parse(str);
} catch (Exception e) {
e.printStackTrace();
}
return date;
}
主要是通过这三个方法就可以实现时间的转换,可根据实际情况修改,提供思路和方法。