1. 程式人生 > >JAVA中的時間大小比較

JAVA中的時間大小比較

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