gpt4 book ai didi

与语言环境相关的 Java DynamicReports 格式日期

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:55:29 25 4
gpt4 key购买 nike

我正在使用 DynamicReports API 来构建报告。

我正在设置报告的区域设置并设置报告的日期列的格式,但日期的格式始终如10/12/2009 10:54:44 AM 无论Locale 是什么。

代码如下:

rep.setTemplate(Templates.reportTemplate.setLocale(res.getLocale()));
...
if (rs.getString(i).contains("00:00:00"))
rep.addColumn(col.column(title, name, type.dateType()));
else
rep.addColumn(col.column(title, name, type.dateYearToSecondType()));

有没有办法根据报告的区域设置自动设置日期格式,或者我是否需要使用自定义ValueFormatter

最佳答案

我也尝试了参数映射但没有成功

JasperReportBuilder rep = report()
.setDataSource(query, conn.getConnection())
.setParameter(JRParameter.REPORT_LOCALE, res.getLocale());
.setTemplate(Templates.reportTemplate.setLocale(res.getLocale()));

无法自动格式化日期。唯一的方法是根据语言环境为日期列使用模式。

TextColumnBuilder<Date> column = col.column(title,  name,  type.dateType());
if (res.getLocale().equals("EN") {
column.setPattern("dd.MM.yyyy");
}
else if (res.getLocale().equals("US") {
column.setPattern("MM/dd/yyyy");
}
else {
...
}
rep.addColumn(column);

关于与语言环境相关的 Java DynamicReports 格式日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12834891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com