java - 如何计算提供两个日期的老化?

标签 java android simpledateformat date-difference

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

我将动态获取日期和时间作为字符串。
例如,它会像下面这样

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

但问题是我无法这样做,因为我遇到了解析异常。

所以,

  1. 我怎样才能解析字符串 due_date?
  2. 如何从 due_date 中减去当前日期以获得两个日期之间的天数?

最佳答案

How can i be able to parse a string due_date?

你应该使用这种格式:

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

How can I be able to subtract current date from due_date to get the number of days between two days?

你应该这样写方法:

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"

关于java - 如何计算提供两个日期的老化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36353829/

相关文章:

java - Spring-Boot @TestPropertySource 与@SpringBootTest 一起使用时不加载外部属性文件

java - 重新保存修改后的对象时,JPA 合并()无法按预期工作

java - 从ODBC中找不到配置单元类路径

java - 将 GregorianCalendar 与 SimpleDateFormat 一起使用

java - 日期格式 : format pattern based on date value

java - 从 Java 应用程序连接到 Access 数据库时出现问题

java - 调用父类(super class)方法

javascript - Android相机权限请求不触发请求弹窗

java - Android 应用内购买 NullPointerException

java 解析异常 : Unparseable date