我在计算两个日期之间的天数。 这是我的代码:两个日期之间的天数。日期错误在哪里?
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天差异 –