Как отобразить дату в формате ЧЧ: мм: сс в JasperReports? - PullRequest
9 голосов
/ 15 апреля 2010

Я использую следующий код для создания диаграммы в 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 ]

17 голосов
/ 19 апреля 2010

Вы можете использовать следующий код в Java:

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

где $ V {VAR_DATE} - переменная даты, которая будет преобразована в формат.

3 голосов
/ 16 февраля 2012

Или вы можете просто поместить переменную даты в текстовое поле, а затем перейти в представление свойств и записать это в поле Pattern: ЧЧ: мм: сс.Также может быть полезно установить флажок «Пусто при нулевом значении»

0 голосов
/ 17 мая 2019

Просто, Вы можете добавить в pattern свойство текстового поля даты. поле должно быть в формате java.sql.Date
Вы можете написать в pattern HH:mm:ss

0 голосов
/ 11 марта 2014

Укажите «Период времени» в виде «минуты» в разделе «Детали» деталей графика.

timePeriod="Minute"

Из окончательного руководства JasperReports: выражение периода времени

Это выражение возвращает значение java.util.Date, из которого движок будет извлекать соответствующий период времени в зависимости от установленного значения для атрибута timePeriod, упомянутого ранее во временном ряду набор данных. Например, если на графике указаны годовые данные, двигатель будет извлекать только год из значения даты, или если вы собирая месячные данные, движок будет использовать только значение месяца из объект даты, возвращаемый этим выражением.

0 голосов
/ 08 марта 2013
<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>

открытая статическая конечная строка DateFormat df = new SimpleDateFormat (DATE_TIME_FORMAT); df.format ($ V {VAR_DATE})

0 голосов
/ 06 февраля 2013

Свойство, которое вы ищете, это «маска метки оси времени». Для диаграммы временного ряда нет поля «шаблон».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...