我想使用Joda Time获得两次P(开始时间)和Q(结束时间)之间的差异. P和Q可能是不同日子甚至在同一天的时间.我想得到格式HH-MM-SS的差异,其中H =小时,M =分钟,S =秒.
我想在定时器中使用这个功能.我假设没有人会使用我的计时器测量超过24小时.
请指导我这样做.
解决方法
看看Joda时间常见问题
http://joda-time.sourceforge.net/faq.html#datediff
http://joda-time.sourceforge.net/faq.html#datediff
您可以使用PeriodFormatter获取您选择的格式.请尝试以下示例代码.
DateTime dt = new DateTime(); DateTime twoHoursLater = dt.plusHours(2).plusMinutes(10).plusSeconds(5); Period period = new Period(dt,twoHoursLater); PeriodFormatter HHMMSSFormater = new PeriodFormatterBuilder() .printZeroAlways() .minimumPrintedDigits(2) .appendHours().appendSeparator("-") .appendMinutes().appendSeparator("-") .appendSeconds() .toFormatter(); // produce thread-safe formatter System.out.println(HHMMSSFormater.print(period));