我正在尝试在我的应用中实现此逻辑,在这里我必须计算老化过程。
我将以字符串形式动态获取日期和时间。
例如,它将像以下
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"