【发布时间】:2018-06-24 11:42:29
【问题描述】:
考虑下面的代码。我正在计算两个日期之间的天数差异。但是,有时输出无效。有谁知道这怎么可能?不要担心闰年。
SimpleDateFormat myFormat = new SimpleDateFormat("dd-MM-yyyy")
Date date1 = (Date) myFormat.parse(datenow);
Date date2 = (Date) myFormat.parse(factuurdatumList.get(i));
long difference = date1.getTime() - date2.getTime();
System.out.println("Days: " + TimeUnit.DAYS.convert(difference, TimeUnit.MILLISECONDS));
int openstaand = (int) TimeUnit.DAYS.convert(difference, TimeUnit.MILLISECONDS);
【问题讨论】:
-
输入和输出是什么,应该是什么?
-
“输出有时无效” 怎么办?显示示例。但我敢打赌,无效输出是由跨越夏令时转换的日期引起的。
-
在尝试提出更多问题之前,请先阅读How do I ask a question that is answerable?,这样您才能更好地准备好并能够提出一个广受欢迎且更重要的是可回答的问题。。跨度>
-
我建议您避免使用
SimpleDateFormat类。它不仅过时了,而且出了名的麻烦。今天我们在java.time, the modern Java date and time API 的表现要好得多。