在小时大于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))