gpt4 book ai didi

java - 将字符串转换为日期 - 无法解析的日期 : "03/26/2012"

转载 作者:行者123 更新时间:2023-12-01 06:45:37 25 4
gpt4 key购买 nike

我正在试验一个使用 Jasper Reports 的 Java 程序。当我发现“日期”采用字符串格式并因此进行排序(尽管以错误的方式)时,最初(据称)简单的“按降序排列日期”任务变得更加复杂。 。示例:

  • 2012年3月26日
  • 2012年3月26日
  • 2012年8月11日
  • 2012年8月26日
  • 2011 年 10 月 26 日

仅仅因为前面有 10,我只能猜测 10/26/11 被放在底部。

我使用 iReport 3.0.0 查看了 Jasper Report,发现了以下内容:

  • 相关日期(名为:DTEEFFEC)在“字段”下设置为“字符串”。
  • textField 也设置为 String。

这不会产生任何错误,只会使按降序排列“日期”变得困难(如果不是不可能的话)。

所以我做了以下事情:

  • 将 DTEEFFEC 保留为原样(字符串)。
  • 将文本字段从 Java.Lang.String 更改为 Java.Util.Date
  • 在新字段表达式中添加了以下内容:

    new SimpleDateFormat("MM-dd-yyyy").parse($F{DTEEFFEC}.toString())

在对我的问题进行一些研究后,我发现了这段代码。很多回复都是“它有效”,但对我来说并非如此。

Caused by: java.text.ParseException: Unparseable date: "03/26/2012"

这就是 Java 程序返回的内容。我尝试修改字段和文本字段(在字符串或日期值之间交替),但它完全给了我其他错误。

我可以帮忙吗?

谢谢。

其他信息:我使用 iReports 3.0.0 来修改 JRXML 文件,并使用 Eclipse 来修改 Java 程序。如果 Eclipse 下的引用库可信的话,我使用的是 JasperReports 3.5.2。整个系统运行在 Windows 7 上。

最佳答案

看看你的代码:

new SimpleDateFormat("MM-dd-yyyy").parse(...)

这显然需要“MM-dd-yyyy”形式的内容,例如“03-26-2012”。

现在查看您的实际数据:“03/26/2012”。 (显然,即使您早期的样本是两位数年份......)

这是斜杠,而不是破折号。所以你需要适本地改变你的模式:

new SimpleDateFormat("MM/dd/yyyy").parse(...)

关于java - 将字符串转换为日期 - 无法解析的日期 : "03/26/2012",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15427348/

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