zoukankan      html  css  js  c++  java
  • java处理特殊时间格式,2019-11-28T06:52:09.724+0000 转为常见格式2019-11-28 06:52:09,同时转为数据库日期格式Timestamp

      public static final String FORMAT = "yyyy-MM-dd HH:mm:ss";
        public static final String FORMAT_T = "yyyy-MM-dd'T'HH:mm:ss";
        public static final String FORMAT_Z = "EEE MMM dd HH:mm:ss Z yyyy"; 
    
    /**
         *  处理时间格式 2019-11-28T06:52:09.724+0000 为 yyyy-MM-dd HH:mm:ss
         * */
        public static String dealDateFormat(String oldDate) {
            Date date1 = null;
            DateFormat df2 = null;
            try {
                DateFormat df = new SimpleDateFormat(ExchangeConstants.FORMAT_T);
                Date date = df.parse(oldDate);
                SimpleDateFormat df1 = new SimpleDateFormat (ExchangeConstants.FORMAT_Z, Locale.UK);
                date1 = df1.parse(date.toString());
                df2 = new SimpleDateFormat(ExchangeConstants.FORMAT);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return df2.format(date1);
        }
        /**
         *  处理String格式  为 Timestamp mysql识别的日期格式
         * */
        public static Timestamp returnTimestampForTemp(Object object){
            String oString = dealDateFormat(object.toString());
            Timestamp timestamp = Timestamp.valueOf(oString);
            return  timestamp;
        }

    这里我直接处理成了mysql识别的Timestamp 格式,方便后面逻辑里动态拼装sql时用。

    此为数据库类型:

    此为实体类类型:

     

    这里碰到的 2019-11-28T06:52:09.724+0000 这种格式,是从数据库取出来时,数据库对应datetime类型,java实体类为 java.sql.Timestamp  用类反射取到对应字段,并无法直接使用object类型,于是我把表数据作为Object转为map,识别此时间类型

    后转成的模样,怎么转的,在我另一篇文章里有写到。

    https://www.cnblogs.com/justtodo/p/11979729.html

  • 相关阅读:
    2018年第九届蓝桥杯【C++省赛B组】第二题 明码
    2018年第九届蓝桥杯【C++省赛B组】第三题 乘积尾零
    2018年第九届蓝桥杯【C++省赛B组】第四题 测试次数
    L2-023 图着色问题
    L2-011 玩转二叉树
    获取当前的时间,转化为char[]格式unix时间戳
    创建子进程
    strerror
    gdb
    gcc
  • 原文地址:https://www.cnblogs.com/justtodo/p/11979815.html
Copyright © 2011-2022 走看看