• ベストアンサー

Dateクラスへ格納

jdk1.6を使用しています。 ユーザに年月日を指定してもらい、それぞれint型に格納。 DBの属性date型に格納する為に Date a = new Date(); a.setYear(intYear); をしようと試みましたが setYearはDeprecated属性で推奨されていないもよう。 どのようにDateクラスに格納すればよろしいのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Calendar使いましょう。 int intYear = 2009; Calendar cal = Calendar.getInstance(); cal.set(Calendar.DAY_OF_YEAR, intYear); Date date = cal.getTime();

7u7
質問者

お礼

早速のご回答ありがとうございます。 CalendarのgetTime()メソッドですね。 助かりました。

その他の回答 (4)

回答No.5

またかぶって(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メソッドはいろいろあるので好きなのつかってくれ、と。

回答No.4

引数間違えた。 cal.set(Calendar.DAY_OF_YEAR, intYear);→cal.set(Calendar.YEAR, intYear); No2さんのように複数フィールドに同時にセットもできます。

  • pug0429
  • ベストアンサー率75% (3/4)
回答No.3

ProKaseifuさんスミマセン・・・かぶりました。 ProKaseifuさんのやり方の方が丁寧です。 Calendar#set(対象, 値) 私の回答は一気にまとめて・・・という少し手抜きなやり方。 Calendar#set(年, 月, 日)

  • pug0429
  • ベストアンサー率75% (3/4)
回答No.2

例)・・・ 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月という扱いになります

7u7
質問者

お礼

ご回答ありがとうございます。 setで同時に格納もできるのですね。 勉強になりました! 注意点も了解しました。

関連するQ&A