java 不同时间格式转化

 

今天项目中遇到一个格式问题,收到的timestamp格式是2019-08-19-16:03:21 , 但是入es时,当类型为date的时候,这种格式直接报错,因为索引建的格式是yyyy-MM-dd HH:mm:ss,即中间多了一个横杠。

 

解决思路,先把时间转化成Date类型,然后再把Date转成字符串的类型。

 

String --> Date 

/**
     *    @Title:         字符串转日期
     *    @MethodName:    parse 
     *    @Description:    
     *    @param             @param strDate
     *    @param             @param pattern
     *    @param             @return
     *    @return         Date
     *    @throws
     */
    public static Date parse(String strDate, String pattern) {
        SimpleDateFormat df = new SimpleDateFormat(pattern);
        try {
            return df.parse(strDate);
        } catch (ParseException e) {
            e.printStackTrace();
            return null;
        }
    }
View Code

 

Date --> String

/**
     *    @Title:         日期格式化
     *    @MethodName:    format 
     *    @Description:    
     *    @param             @param date
     *    @param             @param pattern
     *    @param             @return
     *    @return         String
     *    @throws
     */
    public static String format(Date date,String pattern){
        String rs = "";
        if(date!=null){
            SimpleDateFormat df = new SimpleDateFormat(pattern);
            rs = df.format(date);
        }
        return rs;
    }
View Code

 

转化的时候指定对应的pattern即可。

你可能感兴趣的:(java 不同时间格式转化)