0

我遇到了日期解析问题。

我从 JXDatePicker 获取日期,需要重新格式化它们以便向 MySQL 发送查询。

我从 JXDatePicker 获得的日期格式如下:

Mon Oct 06 00:00:00 IDT 2014

我使用这个 simpledateformat 来解析它:

SimpleDateFormat inputFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");

我也试过:

SimpleDateFormat inputFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy");

和:

SimpleDateFormat inputFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy");

当我在 Eclipse 上运行它时,95% 的时间它工作正常,有时我会收到解析错误(如下所列),但是当我重新启动我的应用程序时,它在相同的日期和相同的输入上工作得很好。

但是,当我将我的应用程序编译成一个可运行的 jar 以便真正开始使用它时,我 100% 的时候会收到以下错误:

java.text.ParseException: Unparseable date: "Mon Oct 06 00:00:00 IDT 2014"
at java.text.DateFormat.parse(Unknown Source)
at DatePicker.findRequests(DatePicker.java:385)

这让我疯狂 !!!

有人对我有想法吗?

我怀疑它以某种方式连接到时区。

谢谢,

戴夫。

4

1 回答 1

2

根本不解析结果JXDatePicker它允许您直接获取值作为java.util.Date(和时区)。

尽可能避免转换为文本。在这种情况下,任何地方都不需要文本- 您可以JXDatePicker以“本机”格式获取数据,并且在为 MySQL 指定值时也应该这样做 - 使用带有参数化 SQL 的准备好的语句并调用setDateorsetTimestamp来指定价值。

于 2014-10-06T09:33:26.487 回答