获取天数

时间:2018-11-26 04:41:28

标签: java android datetime

我有两个日期是字符串类型。如何计算不考虑毫秒的天数?

此代码为我提供了日期之间的毫秒数:

    try {
        SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd");
        String inputString1 = 23-11-2018;
        String inputString2 = 24-11-2018;
        Date date1 = myFormat.parse(inputString1);
        Date date2 = myFormat.parse(inputString2);
        diff = date2.getTime() - date1.getTime();
    } catch (ParseException e) {
        e.printStackTrace();
    }

2 个答案:

答案 0 :(得分:1)

尝试一下...

SimpleDateFormat myFormat = new SimpleDateFormat("yyyy-MM-dd");
String inputString1 = "2017-04-01";
String inputString2 = "2018-04-01";

try {
    Date date1 = myFormat.parse(inputString1);
    Date date2 = myFormat.parse(inputString2);
    long diff = date2.getTime() - date1.getTime();
    System.out.println ("Days: " + TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS));
} catch (ParseException e) {
    e.printStackTrace();
}

如果不想使用毫秒,而必须使用Joda Time,这是一个更好的API。然后您可以使用:

int days = Days.daysBetween(date1, date2).getDays();

答案 1 :(得分:0)

您可以通过计算来计算天数

int days = (int) (diff / (1000*60*60*24));