我正在尝试在我的应用中实现此逻辑,在这里我必须计算老化过程。

我将以字符串形式动态获取日期和时间。
例如,它将像以下

String due_date = "2016-03-27 00:00:00"


为了找到两个日期之间的天数,我有以下代码

SimpleDateFormat format1 = new SimpleDateFormat("dd-MM-yyyy HH-mm-ss");
Date dt1 = format1.parse("due_date");


但是问题在于我无法执行此操作,因为遇到了解析异常。

所以,


如何解析字符串Due_date?
我如何能够从Due_date中减去当前日期以获得两个日期之间的天数?

最佳答案

我如何解析字符串Due_date?


您应该使用以下格式:

SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date dueDate = format1.parse(due_date);



  我如何能够从Due_date中减去当前日期以获得两天之间的天数?


您应该编写如下方法:

public static int getDaysBetweenDates(Date fromDate, Date dueDate) {
    return (int) ((dueDate.getTime() - fromDate.getTime()) / (1000 * 60 * 60 * 24L));
}


并像这样使用它:

String from_date = "2016-03-26 00:00:00";
String due_date = "2016-03-27 00:00:00";

SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date fromDate = format1.parse(from_date);
Date dueDate = format1.parse(due_date);

System.out.println(getDaysBetweenDates(fromDate, dueDate));//prints "1"

09-28 02:28
查看更多