如何在Java中找到两个日期之间的差值的持续时间?

我有两个DateTime对象,需要找到它们之间的差值的持续时间,

我有以下代码,但不确定如何继续执行以获得预期的结果,如下所示:

      11/03/14 09:30:58

11/03/14 09:33:43

elapsed time is 02 minutes and 45 seconds

-----------------------------------------------------

11/03/14 09:30:58

11/03/15 09:30:58

elapsed time is a day

-----------------------------------------------------

11/03/14 09:30:58

11/03/16 09:30:58

elapsed time is two days

-----------------------------------------------------

11/03/14 09:30:58

11/03/16 09:35:58

elapsed time is two days and 05 mintues

    String dateStart = "11/03/14 09:29:58";

String dateStop = "11/03/14 09:33:43";

Custom date format

SimpleDateFormat format = new SimpleDateFormat("yy/MM/dd HH:mm:ss");

Date d1 = null;

Date d2 = null;

try {

d1 = format.parse(dateStart);

d2 = format.parse(dateStop);

} catch (ParseException e) {

e.printStackTrace();

}

// Get msec from each, and subtract.

long diff = d2.getTime() - d1.getTime();

long diffSeconds = diff / 1000 % 60;

long diffMinutes = diff / (60 * 1000) % 60;

long diffHours = diff / (60 * 60 * 1000);

System.out.println("Time in seconds: " + diffSeconds + " seconds.");

System.out.println("Time in minutes: " + diffMinutes + " minutes.");

System.out.println("Time in hours: " + diffHours + " hours.");

回答:

尝试以下

{

Date dt2 = new DateAndTime().getCurrentDateTime();

long diff = dt2.getTime() - dt1.getTime();

long diffSeconds = diff / 1000 % 60;

long diffMinutes = diff / (60 * 1000) % 60;

long diffHours = diff / (60 * 60 * 1000);

int diffInDays = (int) ((dt2.getTime() - dt1.getTime()) / (1000 * 60 * 60 * 24));

if (diffInDays > 1) {

System.err.println("Difference in number of days (2) : " + diffInDays);

return false;

} else if (diffHours > 24) {

System.err.println(">24");

return false;

} else if ((diffHours == 24) && (diffMinutes >= 1)) {

System.err.println("minutes");

return false;

}

return true;

}

以上是 如何在Java中找到两个日期之间的差值的持续时间? 的全部内容, 来源链接: utcz.com/qa/419065.html

回到顶部