この JXDatePicker から派生した値を Java DB の Date フィールドに挿入したいと考えています。時間が dd/mm/yyyy として表され、他には何も表されない方法で、このコントローラーから日付のみを取得するにはどうすればよいですか??!
1 に答える
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のような日付と時刻のライブラリを使用することも最善の方法です。Date
Calendar