用于生成日期对象的代码:
Date date = new Date("2/3/2017"); //deprecated
您将得到 28 天的答复,因为根据Date(String)
构造函数正在考虑日= 3,月= 2和年= 2017
您可以将字符串转换为日期,如下所示:
String dateStr = "2/3/2017";
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date date = sdf.parse(dateStr);
使用上面的模板来制作您的 Date 对象。然后使用下面的代码计算两个日期之间的天数。希望这能澄清事情。
可以按如下方式完成:
long diff = endDateValue.getTime() - startDateValue.getTime();
System.out.println ("Days: " + TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS));
请检查link https://stackoverflow.com/questions/20165564/calculating-days-between-two-dates-with-in-java
如果你使用 Joda Time,那就简单多了:
int days = Days.daysBetween(date1, date2).getDays();
请检查JodaTime https://stackoverflow.com/questions/7103064/java-calculate-the-number-of-days-between-two-dates
如何在Java项目中使用JodaTime https://stackoverflow.com/questions/12105164/java-joda-time-download-and-install-step-by-step