java日期,時間比較
使用joda包
日期比較
String beginDate = "2017/07/05";String endDate = "2017/09/04";System.out.println(new DateTime(beginDate).isAfter(new DateTime(endDate))); // 結果為falseString beginDate = "2017/09/04";String endDate = "2017/09/04";System.out.println(new DateTime(beginDate).isAfter(new DateTime(endDate))); // 結果為falseString beginDate = "2017/07/05";String endDate = "2017/09/04";System.out.println(new DateTime(beginDate).isBefore(new DateTime(endDate))); // 結果為trueString beginDate = "2017/09/04";String endDate = "2017/09/04";System.out.println(new DateTime(beginDate).isBefore(new DateTime(endDate))); // 結果為false
時間比較
String beginTime = "15:02:22";String endTime = "15:02:22";System.out.println(new LocalTime(beginTime).compareTo(new LocalTime(endTime))); // 結果為0String beginTime = "12:02:22";String endTime = "15:02:22";System.out.println(new LocalTime(beginTime).compareTo(new LocalTime(endTime))); // 結果為-1String beginTime = "12:02:22";String endTime = "10:02:22";System.out.println(new LocalTime(beginTime).compareTo(new LocalTime(endTime))); // 結果為1
使用SimpleDateFormat包
日期和時間比較
String beginTime = "10:00:00";String endTime = "3:59:59";StringBuilder dateBegin = new StringBuilder("2018-08-08 ");StringBuilder dateEnd = new StringBuilder("2018-08-08 ");Date dtBeginTime = df.parse(dateBegin.append(beginTime).toString());Date dtEndTime = df.parse(dateEnd.append(endTime).toString());System.out.println(dtBeginTime.getTime() >= dtEndTime.getTime()); //trueSystem.out.println(dtBeginTime.getTime() == dtEndTime.getTime()); //falseSystem.out.println(dtBeginTime.getTime() < dtEndTime.getTime()); //false