请考虑以下代码。我正在计算两个日期之间的天数差异。但是,有时输出无效。有谁知道这可能是什么?不用担心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);
答案 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