java 判斷兩個時間相差的天數

2021-09-02 17:51:35 字數 1268 閱讀 3581

1、實現目標

輸入:兩個日期

輸出:兩個日期相差的天數

2、**實現

方法1:

通過calendar類的日期比較。注意:這裡需要考慮一下:

/**

* date2比date1多的天數

* @param date1

* @param date2

* @return

*/public static int differentdays(date date1,date date2)

else //不是閏年

}return timedistance + (day2-day1) ;

}else //不同年

}

方法2:

直接通過計算兩個日期的毫秒數,他們的差除以一天的毫秒數,即可得到我們想要的兩個日期相差的天數。

/**

* 通過時間秒毫秒數判斷兩個時間的間隔

* @param date1

* @param date2

* @return

*/public static int differentdaysbymillisecond(date date1,date date2)

測試:

public static void main(string args) 

catch (parseexception e)

}

結果:

兩個日期的差距:732

兩個日期的差距:732

兩種實現方式的比較:

方式一的話,只是通過日期來進行比較兩個日期的相差天數的比較,沒有精確到相差到一天的時間。如果是只是純粹通過日期(年月日)來比較比較的話就是方式一。

對於方式二,是通過計算兩個日期相差的毫秒數來計算兩個日期的天數差的。一樣會有乙個小問題,就是當他們相差是23個小時的時候,它就不算一天了。如下面的兩個日期

2015-1-1 21:21:28

2015-1-2 1:21:28

測試**:

public static void main(string args) 

catch (parseexception e)

}

結果:

兩個日期的差距:1

兩個日期的差距:0

兩種方式的不同了,在具體時間相差不到24小時時,方式2的方式不算一天,而方式1是通過日期(年月日)來判斷的,所以算相差一天。

java 判斷兩個時間相差的天數

1 實現目標 輸入 兩個日期 輸出 兩個日期相差的天數 2 實現 方法1 通過calendar類的日期比較。注意 這裡需要考慮一下 date2比date1多的天數 param date1 param date2 return public static intdifferentdays date d...

java 判斷兩個時間相差的天數

1 實現目標 輸入 兩個日期 輸出 兩個日期相差的天數 2 實現如下 方法1 通過calendar類的日期比較。注意 這裡需要考慮一下 通過時間秒毫秒數判斷兩個時間的間隔 param date1 param date2 return public static int differentdaysby...

JAVA 比較兩個日期相差的天數

在測試工作中經常會使用到比較兩個日期相差的天數,我之前用過實現這一功能的兩個版本的方法,源 如下 版本 1 public static intgetintervaldays date fdate,date odate longintervalmilli odate.gettime fdate.get...