gpt4 book ai didi

mysql - Grails + BIRT 报告 - 将月份和年份作为日期传递到 BIRT 报告

转载 作者:行者123 更新时间:2023-11-30 00:15:41 30 4
gpt4 key购买 nike

我已将 BIRT 报告集成到 Grails 中并设计了一份报告。我的 grails 应用程序中有一个名为 startPeriod (仅限月份和年份)的参数,我想将其传递给 BIRT。然后 BIRT 调用存储过程来生成报告。

这是我所拥有的:

我的 GSP 页面

<div class="fieldcontain">
<label for="startPeriod">
<g:message code="start.period" default="Start Period" />
</label>

<g:datePicker name="startPeriod" value="${startPeriod}" precision="month" noSelection="['':'-Choose-']" relativeYears="[-2..16]" />
</div>

我的存储过程(BIRT 调用的存储过程)

CREATE PROCEDURE `sp_Report`(
id LONG,
startPeriod DATE
)
BEGIN
-- my sql code
END

在我的 BIRT 报告中,我有一个名为 startPeriod 的报告参数,它链接到 SQL 参数。我尝试将报告参数的startPeriod的数据类型更改为Date和String。但是,日期尚未确定。

如何将日期“Tue Apr 01 00:00:00 EAT 2014”转换为“2014-04-01”(yyyy-mm-dd)?

最佳答案

您还没有选择最简单的格式!您可以直接从 grails 应用程序将 yyyy-mm-dd 发送到 birt 报告。否则,将这样的脚本放入与 startDate 相关的数据集参数的“默认值”表达式中(不要使用链接到报告参数选项):

var parser=new java.text.SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy", java.util.Locale.ENGLISH);
parser.parse(params["startPeriod"].value);

如果管理本地化,您可能必须将 java.util.Locale.ENGLISH 替换为 reportContext.getLocale()

关于mysql - Grails + BIRT 报告 - 将月份和年份作为日期传递到 BIRT 报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23678575/

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