java正则匹配解析出时间
来源:互联网 发布:linux查看历史命令 编辑:程序博客网 时间:2024/04/30 21:15
package zhengze;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.regex.*;import java.util.Date;public class zhengze { public static void main(String[] args) throws ParseException { // String path = // "/user/sunflower/flume/msp/0/1970-01-01/08/vortex-pro.hadoop0038.bj.voicecloud.cn"; // String reg = // "^\\d{4}-0[1-9]1[1-2]-0[1-9]|[1-2]\\d|3[0-1] [0-2][0-4]:[0-6]\\d:[0-6]\\d"; // String checkValue = "2009-01-01/12"; // String reg = "^\\d{4}-[0-1]\\d-[0-3]\\d/[0-2][0-4]$"; // // String reg = // "^\\d{4}-[0-1][1-9]-[0-3][1-9] [0-2][0-4]:[0-6]\\d:[0-6]\\d$"; // // Pattern p = Pattern.compile(reg); // Matcher m = p.matcher(checkValue); // boolean b = m.matches(); // if(b) // { // // System.out.println("格式正确"); // } // else // { // System.out.println("格式错误"); // } String path = "/string/string/string/2013-09-11/11/string/string"; // Pattern pattern = Pattern.compile("\\d{4}-[0-1]\\d-[0-3]\\d/[0-2]\\d");// Matcher matcher = pattern.matcher(path);// // if (matcher.find()) {// String src = matcher.group();// System.out.println(src);// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd/hh");// Date date = sdf.parse(src);// System.out.println(date);// // long t = date.getTime() + 4200*1000;// // System.out.println(t);//// } Pattern pattern = Pattern.compile("\\d{4}-[0-1]\\d-[0-3]\\d/[0-2]\\d"); Matcher matcher = pattern.matcher(path); Date datefile = null; if (matcher.find()) { String src = matcher.group(); System.out.println(src); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd/hh"); try { datefile = df.parse(src); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } long readyTime = datefile.getTime() + 4200*1000; System.out.println(datefile); System.out.println(datefile.getTime()); System.out.println(readyTime); Date d = new Date(readyTime); System.out.println(d.toString()); }}