Java正则实现各种日期格式化
包com.st.test;导入java.text.dateformat; import java.text.simpledateformat; import java.util.date; import java.util.hashmap; import java java.util.regex.pattern; public class dateFormatutil {@suppresswarnings(“最后”)public static String格式化(字符串datester){hashmap <string,string> dateregformat = new hashmap <string <string,string>(); dateregformat.put(“^// d {4} // d+// d {1,2} // d+// d+// d {1,2} // d+// d+// d+// d {1,2} // d {1,2} // d+// d {1,2} // d+// d {1,2} // d*$“,“ yyyy-mm-dd-hh-mm-ss”); // 2014年年3月12日12日13时5分34秒,2014-03-12 12:05:34,2014/3/12 12:5:34 dateregformat.put(“^// d {4} // d {4} // d+// d+// d {2} // d {2} // d+/d+/ /d {2} // d+// d {2} // d+// d {2} $“,” yyyy-mm-dd-hh-mm“); // 2014-03-12 12:05 dateregformat 。 ); // 2014-03-12 12 dateregformat.put(“^// d {4} // d+// d+// d {2} // d+// d+// d {2} $”,“ yyyy-mm-dd” ); // 2014-03-12 dateregformat.put(“^// d {4} // d+// d+// d {2} $”,“ yyyy-mm”); // 2014-03 dateregformat.put(“” ^// d {4} $“,” yyyy”); // 2014 dateregformat.put(“^// d {14} $”,“ yyyymmddhhmmss”); // 20140312120534 dateregformat.put( {12} $“,” yyyymmddhhmm”); // 201403121205 dateregformat.put(“^// d {10} $”,“ yyyymmddhh”); // 2014031212 “,” yyymmdd”); // 20140312 dateregformat.put(“^// d {6} $”,“ yyyymm”); // 201403 dateregformat.put(“^// d {2} // d {2} // d {2} // s*: // s*// d {2} // s*:// s*// d {2} $“,” yyyy-mm-dd-hh-mm-ss”); // 13:05:34拼接当前日期dateregformat.put(“^// d {2} // s*:// s*// d {2} $”,“ yyyy-mm-dd-hh-mm”); // 13: 05拼接当前日期dateregformat.put(“^// d {2} // d+// d {1,2} // d+// d+// d+// d {1,2} $“,” yy-mm-dd”); //14.10.18(年。。 /30.12(日。月)拼接当前年份dateregformat.put(“^// d {1,2} // d+// d+// d {1,2} // d+// d+// d+// d {4} $ mm-yyyy”); // // 12.21.2013(日。。 dateFormat formatter1 = new SimpleDateFormat(“ yyyy-mm-dd hh:mm:ss”); dateformat formatter2;字符串datereplace;字符串strsuccess =“”;尝试{for(字符串键:dateregformat.keyset()){if(attate.compile(key).matcher(datester).matches()){formatter2 = new SimpledateFormat(dateregformat.get(key)); if(key.equals(“^// d {2} // s*:// s*// d {2} // s*:// s*// s*// d {2} $”)||键.equals(“^// d {2} // s*:// s*// d {2} $”)){// 13:05:34或13:05拼接当前日期datester = curdate + curdate +' - “ + datester; } else if(key.equals(“^// d {1,2} // d+// d+// d {1,2} $”)){//21.1(日。 (0,4) +“ - ” + datest; } datereplace = datestr.replaceall(“ // d+”,“ - ”); // system.out.println(dateregexparr [i]); strsuccess = formatter1.format(formatter2.parse(datereplace));休息; } } } catch (Exception e) { System.err.println("-----------------日期格式无效:"+dateStr);抛出新的异常(“日期格式无效”); }最后{return strsuccess; }} public static void main(string [] args){string [] datestraray = new String [] {“ 2014-03-12 12:05:34”,“ 2014-03-12 12:05”,2014-- 03-12 12“,“ 2014-03-12”,“ 2014-03”,“ 2014”,“ 20140312120534”,“ 2014/03/12 12:05:34”,“ 2014/3/12 12:5 :34“,”,2014年3月12日13时5分34秒“,”,“ 201403121205”,“ 1234567890”,“ 20140312”,“ 201403”,“ 201403”,“ 2000 13 33 33 33 33 33 13 13 13 13 13”,“ 30.12.2013”,“ “ 12.21.2013”,“ 21.1”,“ 13:05:34”,“ 12:05”,“ 14.1.8”,“ 14.10.18”}; for(int i = 0; i <datestraray.length; i ++){system.out.println(datestraray [i]+” ------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------“。子字符串(1,30-Datestray [i] .length())+格式化(datestraray [i])); }}}}
以上所述就是本文的全部内容了,希望大家能够喜欢。