JAVA时间格式为yyyy-MM-ddTHH:mm:ss.SSS+SSSS转为常用时间格式

JAVA时间格式为yyyy-MM-ddTHH:mm:ss.SSS+SSSS转为常用时间格式

简介

本文记录了在JAVA开发工作中遇到了时间格式为:

yyyy-MM-ddTHH:mm:ss.SSS+SSSS

转为常用时间格式:

yyyy-MM-dd HH:mm:ss

的解决方法,提供给碰到和我一样的问题的小伙伴,如果有更好的解决方式,也希望能在评论告知!

内容

问题

在开发中遇到返回值为

1
"timestamp": "2020-11-19T03:12:08.121+0000"

的时间数据,当时琢磨了很久还是没有找到合适的转换方式,也在墙内外进行过搜索,也依旧没有一个明了的解决方式,所以只能自己摸索了

解决

解决方式:

  1. 因为返回的时间是字符串类型(String),所以进行两次替换
  2. 将”+0000”替换为””非空格
  3. 将”T”替换为” “空格
  4. SimpleDateFormat方法用格式为:yyyy-MM-dd HH:mm:ss.SSS 将原String转为Date
  5. 最后再用SimpleDateFormat方法转为自己想要的时间格式

相关代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/**
* 时间格式转换
* @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);
}
-------------本文结束感谢您的阅读-------------

本文标题:JAVA时间格式为yyyy-MM-ddTHH:mm:ss.SSS+SSSS转为常用时间格式

文章作者:ssqxx

发布时间:2020年11月20日 - 13:09:34

最后更新:2020年11月20日 - 13:11:30

原始链接:http://yoursite.com/2020/11/20/work-timestamp-to-time/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。