如何在JasperReports中以HH:mm:ss格式显示日期?

时间:2010-04-15 09:09:11

标签: jasper-reports

我使用以下代码在JasperReports中生成图表。

<xyLineChart> 
    <chart evaluationTime="Band"> 
        <reportElement x="0" y="0" width="555" height="500"/> 
    </chart> 
    <xyDataset> 
        <dataset incrementType="None"/> 
        <xySeries> 
            <seriesExpression><![CDATA["CpuUsageGraph"]]></seriesExpression> 
            <xValueExpression><![CDATA[new Long($F{time}.getTime())]]></xValueExpression> 
            <yValueExpression><![CDATA[$F{cpuUsage}]]></yValueExpression>
        </xySeries> 
    </xyDataset> 
    <linePlot> 
        <plot/> 
    </linePlot> 
</xyLineChart>

我在X轴上打印日期,但它以毫秒为单位显示。 如何以hh:mm:ss格式显示它?

6 个答案:

答案 0 :(得分:17)

您可以在Java中使用以下代码:

new SimpleDateFormat("MM-dd-yyyy HH:mm:ss z").format($V{VAR_DATE})

其中 $ V {VAR_DATE} 是要转换为格式的日期变量。

答案 1 :(得分:3)

或者您可以将日期变量放在文本字段中,然后转到属性视图,并将其写入模式字段:HH:mm:ss。检查“空时为空”复选框

可能很有用

答案 2 :(得分:0)

您要查找的属性是“时间轴刻度标签掩码”。时间序列图表没有“模式”字段。

答案 3 :(得分:0)

<xyLineChart> 
    <chart evaluationTime="Band"> 
        <reportElement x="0" y="0" width="555" height="500"/> 
    </chart> 
    <xyDataset> 
        <dataset incrementType="None"/> 
        <xySeries> 
            <seriesExpression><![CDATA["CpuUsageGraph"]]></seriesExpression> 
            <xValueExpression><![CDATA[new Long($F{time}.getTime())]]></xValueExpression> 
            <yValueExpression><![CDATA[$F{cpuUsage}]]></yValueExpression>
        </xySeries> 
    </xyDataset> 
    <linePlot> 
        <plot/> 
    </linePlot> 
</xyLineChart>
  

public static final String DATE_TIME_FORMAT =“yyyy-dd-MM'T'HH:mm:ss.SSS”;

  DateFormat df = new   的SimpleDateFormat(DATE_TIME_FORMAT);   df.format($ V {VAR_DATE})

答案 4 :(得分:0)

在图表详细信息的“详细信息”部分下指定“时间段”为“分钟”。

timePeriod="Minute"

来自JasperReports终极指南:时间段表达

  

此表达式返回引擎的java.util.Date值   将根据设置的值提取相应的时间段   对于时间序列中前面提到的timePeriod属性   数据集。例如,如果图表是关于年度数据的引擎   将仅从日期值中提取年份,或者如果您是   收集月度数据,引擎将只使用月份值   此表达式返回的日期对象。

答案 5 :(得分:0)

简单来说,您可以在日期的文本字段的pattern属性中添加。 该字段应为java.sql.Date格式
您可以用pattern HH:mm:ss

书写