在 Jaspersoft Studio 中,如何使用 DATEFORMAT() 函数?

In Jaspersoft Studio, how do I use the DATEFORMAT() function?

截图如下:

Here's a screenshot http://www.coletrumbo.com/wp-content/uploads/2015/05/dateformat-1024x575.png

我正在尝试使用 DATEFORMAT() 将当前日期变成当年的 7 月 1 日。我在 MySQL 中从 this question 学习了如何做到这一点,我希望它在 Jaspersoft Studio 中也能以类似的方式工作——结果 date_format( curdate(), '%Y-07-01' ) 并没有转化为

DATEFORMAT( TODAY(), '%Y-07-01' ) 或 DATEFORMAT( TODAY(), YY/07/01 )。都没有用。

我可以继续尝试发挥创意并希望找到有用的东西,但我更愿意真正了解如何使用 DATEFORMAT()。

我查看了 Jaspersoft Studio 用户指南,但那里没有。从屏幕上的提示来看,这很有道理,但我就是想不通允许我应用的 "format pattern",甚至根本想不通如何正确编写任何格式模式。此外,在我看来,这个方便命名的问题 DateFormat Pattern, didn't actually help at all. And community.jaspersoft.com/answers 有点像个笑话。当我几天前检查它时,它充满了链接到现场曲棍球比赛的垃圾邮件。

提前致谢。我确定这是一个初学者级别的问题,所以我觉得问这个问题很愚蠢,我觉得我在浪费其他人的 space 和时间,因为我应该已经知道了。所以我真的很感谢你愿意关心。


您可以直接在 JR 存储库中找到 DateTime 函数的源代码:https://sourceforge.net/p/jasperreports/code/ci/master/tree/jasperreports/demo/samples/functions/src/net/sf/jasperreports/functions/standard/DateTimeFunctions.java

如您所见,代码相当简单并且依赖于 Joda Time 库。 因此,您尝试输入的第二个参数是字符串,而第一个参数是日期对象。

确实对您有用的是这样的表达式 DATEFORMAT(TODAY(), "07-01-YYYY")

此致,
马西莫.

我正在使用以下代码以丹麦语格式获取今天的日期

"Dato: "+new java.text.SimpleDateFormat("dd MMMM yyyy",new Locale("da", "DK")).format(new Date())