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);
}
}