我和Joda Time有问题...... 所以,我正在开发一种时差方法,我将计算间隔beetwen 2次... 我必须开发2个案例,但我不知道如何做:
1°病例 - 间隔
date1 = "01/02/2014 9:00";
date2 = "01/02/2014 18:00";
Expected result: 9 hours
2°的情况 - 差异时间
date1 = "9:00";
date2 = "1:00";
Expected result: 8
我该怎么办?我很困惑......
谢谢你们!答案 0 :(得分:1)
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();
}
}
此代码产生:
String date1 = "01/02/2014 9:00";
String date2 = "01/02/2014 18:00";
System.out.println(hoursBetween(date1, date2)); // 9
您的其他案例可以采用非常类似的方式完成,但LocalTime
代替LocalDateTime
。顺便说一句,09:00和01:00之间的差异不是8
,而是-8
。