Как отобразить дату в формате ЧЧ: мм: сс в JasperReports?

33070 просмотра

6 ответа

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

Автор: Aru Источник Размещён: 12.11.2019 09:47

Ответы (6)


17 плюса

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

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

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

Автор: Jugal Shah Размещён: 19.04.2010 02:58

3 плюса

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

Автор: buciu Размещён: 16.02.2012 01:29

0 плюса

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

Автор: Christopher Schultz Размещён: 05.02.2013 10:01

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 = "гггг-дд-мм'т'хх: мм: сс.ссс";
DateFormat df = new SimpleDateFormat (DATE_TIME_FORMAT); df.format ($ V {VAR_DATE})

Автор: MindBrain Размещён: 07.03.2013 10:25

0 плюса

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

timePeriod="Minute"

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

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

Автор: rockey91 Размещён: 11.03.2014 07:26

0 плюса

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

Автор: Foram Thakral Размещён: 17.05.2019 06:27
Вопросы из категории :
32x32