JAVA中的時間大小比較
阿新 • • 發佈:2019-02-10
1.時間的比較
import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub DateFormat df = new SimpleDateFormat("HH:mm:ss");//建立日期轉換物件HH:mm:ss為時分秒,年月日為yyyy-MM-dd try { Date dt1 = df.parse("15:00:00");//將字串轉換為date型別 Date dt2 = df.parse("17:00:00"); if(dt1.getTime()>dt2.getTime())//比較時間大小,如果dt1大於dt2 { System.out.println("yes"); } else { System.out.println("no");//執行輸出no } } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
2.計算兩個日期之間相差的天數
/** * 獲取兩個日期相差的天數 * * @param startDateStr * @param endDateStr */ public static int getDayBetweenTwoDate(String startDateStr, String endDateStr) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); int days = 0; try { Date startDate = simpleDateFormat.parse(startDateStr); Date endDate = simpleDateFormat.parse(endDateStr); Calendar startCalendar = Calendar.getInstance(); startCalendar.setTime(startDate); Calendar endCalendar = Calendar.getInstance(); endCalendar.setTime(endDate); //計算兩個日期相差的天數 //startCalendar.getTime().getTime()返回long毫秒數形式,毫秒轉為秒所以除以1000 //1天=24小時,1小時=60分,1分=60秒,所以兩個時間的差再除以60 * 60 * 24換算成天的形式 days = ((int) (startCalendar.getTime().getTime() / 1000) - (int) (endCalendar.getTime().getTime() / 1000)) / (60 * 60 * 24); } catch (ParseException e) { e.printStackTrace(); } return days; }
測試:
public static void main(String[] args) {
String start = "2015-10-01";
String end = "2015-09-15";
System.out.println(getDayBetweenTwoDate(start, end));
}
輸出:16