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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM