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

简介

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

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

转为常用时间格式:

yyyy-MM-dd HH:mm:ss

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

内容

问题

在开发中遇到返回值为

"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方法转为自己想要的时间格式

相关代码

/**
     * 时间格式转换
     * @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);
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容