Java判斷給定日期哪個大,哪個小;日期型別:YYYY-MM-DD
阿新 • • 發佈:2019-02-09
java裡面判斷日期哪個大,哪個小:
條件:日期型別為YYYY-MM-DD
程式碼如下:(本方法貌似不行!!!我再看看!!見第二個方法!)
/** * 判斷 date 1 和date2 哪個日期大 * 如果date1>date2 1 * 如果date1 =date2 0 * 如果date1<date2 -1 * 要求date1,date2 格式為 YYYY-MM-DD * @param date1 * @param date2 * @return * @throws Exception */ public static int compareDateByString(String date1,String date2) throws Exception { SimpleDateFormat format=new SimpleDateFormat("yyyy-mm-dd"); int result=0; if (date1.equals(date2)) {return result;} try{ Date date1Str=format.parse(date1); Date date2Str=format.parse(date2); if (date1Str.after(date2Str)) { result=1; }else{ result=-1; } }catch(ParseException e) { e.printStackTrace(); } return result; }
第2個方法:(本類中包括測試方法,測試結果見最底下)
package test; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class TestDate2 { static String datetimeFormat = "yyyy-MM-dd HH:mm:ss"; public static void main(String[] args) { String date1 = "2014-03-06"; String date2 = "2014-03-09"; int result = 0; result = compareDate(date1,date2); System.out.println("date1和date2相差"+result+"天"); result = compareDate(date2,date1); System.out.println("交換比較位置後,date1和date2相差"+result+"天"); } public static Date getDateFromString(String s) { Date returnDate = new Date(); try { SimpleDateFormat sdf = new SimpleDateFormat(datetimeFormat); returnDate = sdf.parse(s); } catch (ParseException e) { e.printStackTrace(); } return returnDate; } /* * 該方法用於比較兩個用字串表示的日期 * param strDate1,strDate2 要求的格式為'yyyy-mm-dd' * 返回值為兩個日期相差的天數 */ public static int compareDate(String strDate1, String strDate2) { int returnVal = 0; try { Date date1 = getDateFromString(strDate1 + " 00:00:00"); Date date2 = getDateFromString(strDate2 + " 00:00:00"); returnVal = (int) ((date2.getTime() - date1.getTime()) / (1000 * 60 * 60 * 24)); } catch (Exception e) { e.printStackTrace(); } return returnVal; } }
測試結果:
date1和date2相差3天
交換比較位置後,date1和date2相差-3天