简介
本文记录了在JAVA开发工作中遇到了时间格式为:
yyyy-MM-ddTHH:mm:ss.SSS+SSSS
转为常用时间格式:
yyyy-MM-dd HH:mm:ss
的解决方法,提供给碰到和我一样的问题的小伙伴,如果有更好的解决方式,也希望能在评论告知!
内容
问题
在开发中遇到返回值为
"timestamp": "2020-11-19T03:12:08.121+0000"
的时间数据,当时琢磨了很久还是没有找到合适的转换方式,也在墙内外进行过搜索,也依旧没有一个明了的解决方式,所以只能自己摸索了
解决
解决方式:
- 因为返回的时间是字符串类型(String),所以进行两次替换
- 将"+0000"替换为""非空格
- 将"T"替换为" "空格
- SimpleDateFormat方法用格式为:yyyy-MM-dd HH:mm:ss.SSS 将原String转为Date
- 最后再用SimpleDateFormat方法转为自己想要的时间格式
相关代码
/**
* 时间格式转换
* @param endTime yyyy-MM-ddTHH:mm:ss.SSS+SSSS
* @return
*/
public static String auxGetCommnetTime(String endTime){
//先替换"T",再替换"+0000"
endTime = endTime.replaceAll("T"," ").replaceAll("\\+0000","");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date parse = null;
try {
parse = simpleDateFormat.parse(endTime);
} catch (ParseException e) {
e.printStackTrace();
}
//需要转化成的时间格式,时间格式自定义
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(parse);
}