2

我想将从这个 JXDatePicker 派生的值插入到 Java DB 中的 Date 字段中。我应该如何仅以时间表示为 dd/mm/yyyy 的方式从该控制器中获取日期,仅此而已??!

4

1 回答 1

6

您可以从中获取DateJXDatePicker.getDate()然后使用 aSimpleDateFormat将日期格式化为所需的格式。

尝试:

SimpleDateFormat formater = new SimpleDateFormat("dd/MM/yyyy");
formater.format(myDatePicker.getDate());

请注意,mm我用来MM表示月份的不是您使用的那个。请参阅SimpleDateFormat javadoc以了解您可以使用的模式字母。

跟进

为了完整起见,我不得不提一下,将表示日期的格式化字符串放入数据库通常是一个坏主意。例如,当您想以另一种格式显示它或使用SQL.

存储日期/时间的一种方法是使用您从中获得的时间戳Date.getTime()。这是Date类的getTime() javadoc

返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

将 a 的这种表示形式存储在数据库中可以让您在检索时间戳时Date更轻松地创建对象:Date

Long myTimeStamp = getTimeStampFromResultSet();
Date date = new Date(myTimeStamp);

或者使用中的列SQL做一个简单的比较:

SELECT * FROM MY_TABLE WHERE MY_DATE > ?

它还使其具有一定的可移植性,例如,您可以将时间戳发送到使用不同技术构建的瘦客户端。

话虽如此,使用像Joda Time这样的日期和时间库而不是使用不可靠且不方便的 JavaDateCalendar类也符合您的最大利益。

于 2011-10-25T03:48:17.280 回答