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

相关文章:

  • 2022-02-08
  • 2022-01-11
  • 2022-12-23
  • 2021-12-22
  • 2022-01-24
  • 2021-11-04
  • 2021-12-06
猜你喜欢
  • 2022-12-23
  • 2021-11-21
  • 2022-02-08
  • 2022-02-08
  • 2022-02-08
  • 2022-12-23
  • 2021-11-21
相关资源
相似解决方案