- ベストアンサー
Dateクラスへ格納
jdk1.6を使用しています。 ユーザに年月日を指定してもらい、それぞれint型に格納。 DBの属性date型に格納する為に Date a = new Date(); a.setYear(intYear); をしようと試みましたが setYearはDeprecated属性で推奨されていないもよう。 どのようにDateクラスに格納すればよろしいのでしょうか。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
Calendar使いましょう。 int intYear = 2009; Calendar cal = Calendar.getInstance(); cal.set(Calendar.DAY_OF_YEAR, intYear); Date date = cal.getTime();
その他の回答 (4)
- ProKaseifu
- ベストアンサー率51% (98/192)
またかぶって(ry void set(int field, int value) 時間フィールドに、指定された値を設定します。 void set(int year, int month, int date) 年、月、日付のフィールドに値を設定します。 void set(int year, int month, int date, int hour, int minute) 年、月、日付、時、分のフィールドに値を設定します。 void set(int year, int month, int date, int hour, int minute, int second) 年、月、日付、時、分、秒のフィールドに値を設定します。 Calendarクラスのsetメソッドはいろいろあるので好きなのつかってくれ、と。
- ProKaseifu
- ベストアンサー率51% (98/192)
引数間違えた。 cal.set(Calendar.DAY_OF_YEAR, intYear);→cal.set(Calendar.YEAR, intYear); No2さんのように複数フィールドに同時にセットもできます。
- pug0429
- ベストアンサー率75% (3/4)
ProKaseifuさんスミマセン・・・かぶりました。 ProKaseifuさんのやり方の方が丁寧です。 Calendar#set(対象, 値) 私の回答は一気にまとめて・・・という少し手抜きなやり方。 Calendar#set(年, 月, 日)
- pug0429
- ベストアンサー率75% (3/4)
例)・・・ Calendar cal = GregorianCalendar.getInstance(); // Calendar#set(year, month, date); cal.set(2009, 2, 11); Date date = cal.getTime()); 注意として、Calendarクラスの月(第二引数)は 意図する月の -1 をセットしてください。 上記のとおりだと、2009/03/11 と認識されます。 ※ java内部では0~11が1~12月という扱いになります
お礼
ご回答ありがとうございます。 setで同時に格納もできるのですね。 勉強になりました! 注意点も了解しました。
お礼
早速のご回答ありがとうございます。 CalendarのgetTime()メソッドですね。 助かりました。