由于spark与hadoop api返回的时间是GMT时间,不是标准的北京时间,现将转换函数发出来
/**
* 这里的
* @param gmtTime
* 这里的gmtTime时间格式根据spark返回的格式定义
* @param pattern
* @return
*/
public static String parseGMTToLocalTime(String gmtTime, String pattern) {
ZonedDateTime parse = ZonedDateTime.parse(gmtTime, DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'GMT'").withZone(ZoneId.of("+00:00")));
ZonedDateTime zonedDateTime = parse.withZoneSameInstant(ZoneId.of("Asia/Shanghai"));//中国标准时间 (北京)
String result = zonedDateTime.format(DateTimeFormatter.ofPattern(pattern));
return result;
}
注意:java格式化日期时,假如需要添加自定义字符可以用单引号引用起来,如上述代码所示