Date与String互相转换及日期的大小比较
Date与String互相转换及日期的大小比较。
private static final String PATTERN = "yyyy-MM-dd HH:mm:ss"; /** * String转Date * * @param str * @return */ public static Date strToDate(String str) { if (StringUtils.isEmpty(str)) { return null; } SimpleDateFormat sdf = new SimpleDateFormat(PATTERN); try { return sdf.parse(str); } catch (ParseException e) { e.printStackTrace(); } return null; } /** * Date转String * * @param date * @return */ public static String dateToStr(Date date) { SimpleDateFormat sdf = new SimpleDateFormat(PATTERN); String time = sdf.format(date); return time; } /** * 通过Date自带方法before()和after()比较时间大小 * 通过Date的compareTo()方法比较时间大小 * * @param beginTime * @param endTime * @return */ public static void compare(String beginTime, String endTime) { Date beginDate = strToDate(beginTime); Date endDate = strToDate(endTime); if (beginDate != null && endDate != null) { System.out.println(beginDate.before(endDate)); System.out.println(beginDate.after(endDate)); System.out.println(beginDate.compareTo(endDate)); } } /** * 通过String的compareTo()方法比较时间大小 * 返回正值是代表左侧日期大于参数日期,反之亦然,日期格式必须一致 * * @param beginTime * @param endTime * @return */ public static void compare2(String beginTime, String endTime) { Integer i = beginTime.compareTo(endTime); System.out.println(i); } /** * 转成Date格式换成秒数比较秒数大小,通过getTime()方法 * * @param beginTime * @param endTime * @return */ public static void compare3(String beginTime, String endTime) { Date beginDate = strToDate(beginTime); Date endDate = strToDate(endTime); long begin; long end; if (beginDate != null && endDate != null) { begin = beginDate.getTime(); end = endDate.getTime(); System.out.println(begin>end); System.out.println(begin<end); System.out.println(begin==end); } }