我们在读取Excel 文件时,经常会遇到时间格式是各种乱七八糟的格式:yyyy-MM-DD,yyyy/MM/DD等等,这样就不好转成时间,
public static void main(String[] args) { String str = "2018/09/10"; System.out.println(getChinaNum(str)); } /** * 解析时间格式 * @param str * @return */ public static String getChinaNum(String str) { //获取数字 str = str.replaceAll("[^0-9]", "_").replace("_+", "_"); String[] number = str.split("_+"); String dateStr = replaceNull(number); String[] dateArr = dateStr.split(","); StringBuffer sb = new StringBuffer(); for(int i = 0;i<dateArr.length;i++){ sb.append(dateArr[i]); if(i<2){ sb.append("-"); } if(i == 2){ sb.append(" "); } if(i>2&&i<dateArr.length-1){ sb.append(":"); } } return sb.toString(); } /** * 去除数组中的空串 * @param str * @return */ public static String replaceNull(String[] str){ StringBuffer sb = new StringBuffer(); for(int i=0; i<str.length; i++) { if("".equals(str[i])) { continue; } sb.append(str[i]); if(i != str.length - 1) { sb.append(","); } } return sb.toString(); }