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

2021-07-03 08:21:17 字數 1009 閱讀 7250

在測試工作中經常會使用到比較兩個日期相差的天數,我之前用過實現這一功能的兩個版本的方法,源**如下:

(版本

1)

public

static

intgetintervaldays(date fdate, date odate)

longintervalmilli = odate.gettime() - fdate.gettime();

return(int) (intervalmilli / (24 * 60 * 60 * 1000)); }

(版本2

public

static

intdaysoftwo(date fdate, date odate)

為什麼使用這兩個版本的方法,因為我使用過程中,遇到了和我預期不一致的情況,比如下面乙個使用範例

public

static

voidmain(string args)

這個例子中呼叫了兩個版本的方法,但輸出結果有時不相同,此前我一直不明白為什麼,後來細心研究了一下,原來是我對這兩個版本的方法沒有清楚的理解。版本1的方法要比較的嚴格意義上的天,舉個例子,計算今天與昨天比較相差幾天,我們或許都認為是1,但我們要輸入兩個日期型別的引數,這個日期中不僅包含天,還有小時,分等,版本1會根據您輸入的小時與分不同,返回不同的結果的,比如你輸入的引數今天中午與昨天晚上的兩個時間,它就會告訴你相差0天。同樣的輸入版本2只關心天,輸出的結果是1,也是我想要的結果。

總結起來這兩個方法都是對的,關鍵的是呼叫者要明白你想要的究竟是什麼樣的結果。

版本2在比較不同年份時會出現問題,如果需要比較年份還需新增單獨比較年份的方法,在部落格裡會另外給出

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

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

比較兩個data日期之間的天數相差

先將字串轉化為date型別 轉化方式參看 然後在呼叫date.gettime 方法得到毫秒數相減即可.計算兩個日期間的天數 param fromdate 起始日期 param todate 結束日期 return throws parseexception public static int dat...

2 2 兩個日期相差天數

現在有兩個不同的日期,你能告訴我它們之間差幾天嗎?輸入格式 有多行資料,每行資料報含6個數字,中間用空格分隔,每3個數字代表乙個日期。輸出格式 對應於輸入資料,輸出資料有相同的行數,每行表示對應的兩個日期相差的天數。輸入樣例 1934 2 4 2047 11 30 2192 10 3 1921 5 ...