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

33070 просмотра

6 ответа

82 Репутация автора

Я использую следующий код для создания диаграммы в 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 Источник Размещён: 15.04.2010 09:09

Ответы (6)


17 плюса

2937 Репутация автора

Вы можете использовать следующий код в 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 плюса

101 Репутация автора

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

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

0 плюса

15449 Репутация автора

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

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

0 плюса

2985 Репутация автора

<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 плюса

77 Репутация автора

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

timePeriod="Minute"

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

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

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

0 плюса

138 Репутация автора

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

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