今天项目中遇到一个格式问题,收到的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; } }
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; }
转化的时候指定对应的pattern即可。