如何显示大于24小时的时差



在小时大于24的情况下,我很难用小时来表示时间时差。现在我在iReport

中使用以下代码
(new SimpleDateFormat("dd':'HH':'mm':'ss")).format(new Date($V{avgDuration}.longValue()*1000))

其中$V{avgDuration}jrxml文件中的一个变量,表示两个日期之间以秒为单位的平均时间差。这里显示的是1天1小时,但我希望它是25小时。我该怎么办?

我已经用PeriodFormatterBuilder解决了这个问题。但为此,我需要使用joda-time库。

jrxml文件中text box的表达式编辑器中,只写如下:

new org.joda.time.format.PeriodFormatterBuilder()
        .printZeroAlways()
        .minimumPrintedDigits(2)
        .appendHours().appendSeparator(":")
        .appendMinutes().appendSeparator(":")
        .appendSeconds()
        .toFormatter()
        .print(new org.joda.time.Period(
            $V{avgDuration}.longValue()*1000))

相关内容

  • 没有找到相关文章

最新更新