Reputation: 757
I've a problem with Joda Time... So, I'm developing a time difference method and I would be calculate the interval beetwen 2 times... I must develop 2 cases but I don't undestand how can I do:
1° case - interval
date1 = "01/02/2014 9:00";
date2 = "01/02/2014 18:00";
Expected result: 9 hours
2° case - difference time
date1 = "9:00";
date2 = "1:00";
Expected result: 8
how can I do? I'm very confused...
thank you guys!!
Upvotes: 0
Views: 838
Reputation: 44071
class HourDeltaCalculator {
// assuming you want month first like in US-date-format?
private static final DateTimeFormatter FORMATTER =
DateTimeFormat.forPattern("MM/dd/yyyy H:mm");
public static int hoursBetween(String date1, String date2) {
LocalDateTime ldt1 = FORMATTER.parseLocalDateTime(date1);
LocalDateTime ldt2 = FORMATTER.parseLocalDateTime(date2);
return Hours.hoursBetween(ldt1, ldt2).getHours();
}
}
This code yields:
String date1 = "01/02/2014 9:00";
String date2 = "01/02/2014 18:00";
System.out.println(hoursBetween(date1, date2)); // 9
Your other case can be done in a very similar way, but with LocalTime
instead of LocalDateTime
. By the way, the difference between 09:00 and 01:00 is not 8
, but -8
.
Upvotes: 1