解析JXDatePicker以插入Java DB Date字段?

时间:2011-10-25 03:37:24

标签: java swingx

我想将从此JXDatePicker派生的值插入Java DB中的Date字段。我应该如何以时间表示为dd / mm / yyyy而没有其他任何东西的方式获得此控制器的日期?!

1 个答案:

答案 0 :(得分:6)

您可以从Date获取JXDatePicker.getDate(),然后使用SimpleDateFormat将日期格式化为所需格式。

尝试:

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对象表示。

在数据库中存储Date的这种表示使得在检索时间戳时创建Date对象变得更加简单:

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

或者使用SQL中的列进行简单比较:

SELECT * FROM MY_TABLE WHERE MY_DATE > ?

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

话虽如此,使用Joda Time之类的日期和时间库而不是使用不可靠且不方便的Java DateCalendar类也符合您的最佳利益。