java – 计时器 – 如何使用Joda Time计算两个日期之间的差异?

我想使用Joda Time获得两次P(开始时间)和Q(结束时间)之间的差异. P和Q可能是不同日子甚至在同一天的时间.我想得到格式HH-MM-SS的差异,其中H =小时,M =分钟,S =秒.

我想在定时器中使用这个功能.我假设没有人会使用我的计时器测量超过24小时.

请指导我这样做.

解决方法

看看Joda时间常见问题
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));

相关文章

应用场景 C端用户提交工单、工单创建完成之后、会发布一条工...
线程类,设置有一个公共资源 package cn.org.chris.concurre...
Java中的数字(带有0前缀和字符串)
在Java 9中使用JLink的目的是什么?
Java Stream API Filter(过滤器)
在Java中找到正数和负数数组元素的数量