我在計算兩個日期之間的天數。 這是我的代碼:兩個日期之間的天數。日期錯誤在哪裏?
public class Main {
public static void main(String[] args) {
SimpleDateFormat format = new SimpleDateFormat("dd.MM.yyyy");
Date date1 = null;
Date date2 = null;
String str1 = "01.01.1900";
String str2 = "16.06.2017";
try{
date1 = format.parse(str1);
date2 = format.parse(str2);
} catch (Exception e){
e.printStackTrace();
}
long i1 = date2.getTime() - date1.getTime();
System.out.println(i1/86400000);//milisec to days
}
}
結果是:42899天。
請,有誰能夠解釋我哪裏是真理的結果?
我不能更強烈反對使用傳統的'java.util.Date'類。您應該查看'java.time'包並找到最適合您的用例的類(在這種情況下可能是'LocalDate')。 –
你應該使用更近的日期來測試你的代碼,例如'01.01.1900'和'02.01.1900'。也許你會發現問題在哪裏(或者Excel可能算不同於你)。 –
相同的2天差異 –