2

この JXDatePicker から派生した値を Java DB の Date フィールドに挿入したいと考えています。時間が dd/mm/yyyy として表され、他には何も表されない方法で、このコントローラーから日付のみを取得するにはどうすればよいですか??!

4

1 に答える 1

6

Dateからを取得し、JXDatePicker.getDate()a を使用しSimpleDateFormatて日付を必要な形式にフォーマットできます。

試す:

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

mmあなたが使用した の代わりに、私MMは月を表していたことに注意してください。使用できるパターン文字については、 SimpleDateFormat javadocを参照してください。

ファローアップ

完全を期すために、日付を表すフォーマットされた文字列をデータベースに入れることは一般的に悪い考えであることを言及しなければならないと感じています。たとえば、別の形式で表示したい場合や、 を使用して単純な比較を行う場合はどうなりますかSQL

日付/時刻を保存する 1 つの方法は、 から取得したタイムスタンプを使用することですDate.getTime()DateクラスのgetTime() javadocは次のとおりです。

この Date オブジェクトが表す 1970 年 1 月 1 日 00:00:00 GMT からのミリ秒数を返します。

この a の表現をデータベースに保存すると、タイムスタンプを取得するときにオブジェクトDateを作成するのがはるかに簡単になります。Date

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

または、列を使用SQLして簡単な比較を行います。

SELECT * FROM MY_TABLE WHERE MY_DATE > ?

また、多少移植性が高いため、たとえば、別のテクノロジを使用して構築されたシン クライアントにタイムスタンプを送信できます。

そうは言っても、信頼性が低く不便な Javaやクラスを使用する代わりに、Joda Timeのような日付と時刻のライブラリを使用することも最善の方法です。DateCalendar

于 2011-10-25T03:48:17.280 に答える