两个日期之间的差异

时间:2018-06-23 19:23:14

标签: java date

请考虑以下代码。我正在计算两个日期之间的天数差异。但是,有时输出无效。有谁知道这可能是什么?不用担心leap年。

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);

1 个答案:

答案 0 :(得分:2)

更新: 将日期和月份更改为允许一位数字,并添加示例日期和输出。

如果您停止使用旧的过时的Date类,这很容易。

DateTimeFormatter fmt = DateTimeFormatter.ofPattern("d-M-uuuu");
LocalDate date1 = LocalDate.parse("23-6-2018", fmt);
LocalDate date2 = LocalDate.parse("23-12-2018", fmt);
long days = ChronoUnit.DAYS.between(date1, date2);
System.out.println("Days: " + days);

输出

Days: 183

请参阅此code run live at IdeOne.com