/** * 转换微博时间的工具类 * * * */ public class ConvertDateUtil { /** * 转换字符类型的时间为日期 * * @param time * 1. 60分钟前 * 2. 今天 13:05 * 3. 1月28日 12:02 * 4. 1小时前 * 5. 54秒前 * 6. 3天前 * 7. 2014-7-12 00:05 * 8. 2013-4-12 10:05:40 * @return */ public static String FOMAT_MINIUTE_BEFORE = "分钟前"; public static String FOMAT_TODAY_TIME = "今天"; public static String FOMAT_DATE_TIME = "日"; public static String FOMAT_HOUR_BEFORE = "小时前"; public static String FOMAT_SECOND_BEFORE = "秒前"; public static String FOMAT_DAY_BEFORE = "天前"; public static Date convert(String time) { try { time = time.trim(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd"); Date today = new Date(); Calendar c = Calendar.getInstance(); if (time.contains(FOMAT_MINIUTE_BEFORE)) { int miniutes = Integer.parseInt(time.substring(0,time.indexOf(FOMAT_MINIUTE_BEFORE)).trim()); return new Date(c.getTime().getTime() - miniutes * 60 * 1000); } else if (time.contains(FOMAT_TODAY_TIME)) { String hour = time.substring(FOMAT_TODAY_TIME.length(),time.length()).trim(); return sdf2.parse(c.get(Calendar.YEAR) + "-"+ c.get(Calendar.MONTH) + "-" + c.get(Calendar.DATE)+ " " + hour); } else if (time.contains(FOMAT_DATE_TIME)) { time = time.replace("月", "-").replace("日", ""); return sdf2.parse(c.get(Calendar.YEAR) + "-" + time); } else if(time.contains(FOMAT_HOUR_BEFORE)){ int hours = Integer.parseInt(time.substring(0,time.indexOf(FOMAT_HOUR_BEFORE)).trim()); return new Date(today.getTime() - hours * 60 * 60 * 1000); }else if(time.contains(FOMAT_SECOND_BEFORE)){ int seconds = Integer.parseInt(time.substring(0,time.indexOf(FOMAT_SECOND_BEFORE)).trim()); return new Date(today.getTime() - seconds * 1000); }else if(time.contains(FOMAT_DAY_BEFORE)){ int days = Integer.parseInt(time.substring(0,time.indexOf(FOMAT_DAY_BEFORE)).trim()); return new Date(today.getTime() - days * 24 * 60 * 60 * 1000); }else if(time.split("-").length==3&&time.split(":").length==2){ return sdf2.parse(time); }else if(time.split("-").length==3&&time.split(":").length==3){ return sdf.parse(time); }else if(time.split("-").length==3&&time.indexOf(":")< 0){ return sdf3.parse(time); }else{ return new Date(); } } catch (Exception e) { return new Date(); } } public static void main(String[] args) throws ParseException { System.out.println(ConvertDateUtil.convert(" 60 分钟前 ")); System.out.println(ConvertDateUtil.convert(" 今天 13:05 ")); System.out.println(ConvertDateUtil.convert(" 1月28日 12:02 ")); System.out.println(ConvertDateUtil.convert(" 1小时前 ")); System.out.println(ConvertDateUtil.convert(" 54秒前 ")); System.out.println(ConvertDateUtil.convert(" 3天前 ")); System.out.println(ConvertDateUtil.convert("2014-7-12 00:05")); System.out.println(ConvertDateUtil.convert("2013-4-12 10:05:40"));; System.out.println(ConvertDateUtil.convert("2013-4-12"));; } }
日期转换帮助类
猜你喜欢
转载自m635674608.iteye.com/blog/2208544
今日推荐
周排行