我使用以下代码在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
格式显示它?
答案 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