我有2个Joda LocalDateTime对象,需要生成一个表示它们之间差异的第3个:
LocalDateTime start = getStartLocalDateTime();
LocalDateTime end = getEndLocalDateTime();
LocalDateTime diff = ???
我能想到的唯一方法是精心遍历每个日期/时间字段并执行其各自的减号操作:
LocalDateTime diff = end;
diff.minusYears(start.getYear());
diff.minusMonths(start.getMonthOfYear());
diff.minusDays(start.getDayOfMonth());
diff.minusHours(start.getHourOfDay());
diff.minusMinutes(start.getMinuteOfHour());
diff.minusSeconds(start.getSecondsOfMinute());
最终结果只是调用diff的toString()方法并获得有意义的东西.例如,如果start.toString()生成2012/02 / 08T15:05:00,而end.toString()生成2012/02 / 08T16:00:00,则diff.toString()将是差异(55分钟)可能看起来像2012/02 / 08T00:55:00.
而且,如果这是一个可怕的滥用LocalDateTime,那么我只需要知道如何消除两者之间的时差,并将这种差异变成易于阅读(人性化)的格式.
提前致谢!