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

Sam*_*Sam 2 java swingx

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

Jon*_*ner 6

你可以得到DateJXDatePicker.getDate()再使用SimpleDateFormat的日期格式转换成需要的格式.

尝试:

SimpleDateFormat formater = new SimpleDateFormat("dd/MM/yyyy");
formater.format(myDatePicker.getDate());
Run Code Online (Sandbox Code Playgroud)

请注意,mm我用过MM的代表月份而不是你用过的那个.请参阅SimpleDateFormat javadoc以获取可以使用的模式字母.

跟进

为了完整起见,我不得不提到将表示日期的格式化字符串放入数据库通常是一个坏主意; 例如,当您想要以其他格式显示它时,或者使用时进行简单比较时会发生什么SQL.

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

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

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

Long myTimeStamp = getTimeStampFromResultSet();
Date date = new Date(myTimeStamp);
Run Code Online (Sandbox Code Playgroud)

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

SELECT * FROM MY_TABLE WHERE MY_DATE > ?
Run Code Online (Sandbox Code Playgroud)

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

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