2010-04-15 9 views
9

Ich verwende folgenden Code, um ein Diagramm in JasperReports zu erstellen.Wie zeigt man das Datum im Format HH: mm: ss in JasperReports an?

<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> 

Ich drucke das Datum auf der X-Achse, aber es in Millisekunden angezeigt wird. Wie kann ich es im Format hh:mm:ss anzeigen?

Antwort

17

können Sie folgenden Code in Java verwenden:

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

wo $ V {VAR_DATE} die Datumsvariable ist umgewandelt in das Format werden.

+0

Wofür steht das z? – MindBrain

+1

"z" steht für Zeitzone. Sie können hier nach mehr Mustern suchen - http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html –

3

Oder Sie könnten einfach die Datumsvariable in ein Textfeld setzen und dann in die Eigenschaftenansicht gehen und diese in das Musterfeld schreiben: HH: mm: ss. Es könnte nützlich sein, auch das Kontrollkästchen "Blank when null" zu aktivieren.

0

Die Eigenschaft, die Sie suchen, ist die "Time-Axis-Tick-Label-Maske". Es gibt kein "Muster" -Feld für ein Zeitreihendiagramm.

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 = neu SimpleDateFormat (DATE_TIME_FORMAT); df.format ($ V {VAR_DATE})

0

Geben Sie den "Zeitraum" als "Minute" unter dem 'Details' Abschnitt der Kartendetails.

timePeriod="Minute" 

Von Jasper Ultimate Guide: Zeitraum Expression

Dieser Ausdruck einen java.util.Date Wert zurückgibt, aus dem der Motor die entsprechende Zeitperiode extrahieren wird auf dem Wert in Abhängigkeit gesetzt für die timePeriod-Attribut, das bereits im Zeitreihendatensatz erwähnt wurde. Wenn sich das Diagramm beispielsweise auf jährliche Daten bezieht, extrahiert die Engine nur das Jahr aus dem Datumswert, oder wenn Sie monatliche Daten sammeln, verwendet die Suchmaschine nur das Monatsdatum von das von diesem Ausdruck zurückgegebene Datumobjekt .

Verwandte Themen