• ベストアンサー

日付の加算

現在Javaの基礎から勉強中です。 日付の加算を行いたいのですがJavadocのDate型を見ると 大半が推奨されません、になっていてよくわからない状態です。 例えば、2008/02/28 23:30 に 40分 加算して 2008/02/29 0:10 としたい場合にはどのように実装すればいいのでしょうか?※Date型ではうるう年は考慮できませんか? すみませんが、よろしくお願いします。

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

  • ベストアンサー
  • auty
  • ベストアンサー率58% (284/486)
回答No.2

現在は、Calendar型が中心となっているようですが、DATE型も依然として利用されているので両方とも覚えましょう。 Calendar型とDATE型は、Calendar型のメソッドにより相互に値を変換できます。 簡単なサンプルをあげておきます。 ---------------------------------------------------------------------------- import java.util.*; public class Time { public static void main(String args[]) { String ss; Calendar cal2008; // 2008/02/28 23:30 に 40分後 ---> 2008/02/29 0:10 System.out.println("----------Calendar型の表示--------------"); cal2008 = Calendar.getInstance(); ss = cal2008.toString(); System.out.println("Calendar.getInstance()= " + ss); System.out.println("---------------------------------------"); cal2008.set(2008, 1, 28, 23, 30, 0); // 月は0から始まる System.out.println("DATE型 = " + cal2008.getTime()); // これはDATE型になります。 cal2008.add(Calendar.MINUTE, 40); System.out.println("40分後 = " + cal2008.getTime()); } }

noname#59895
質問者

お礼

回答ありがとうございます。さらに詳しいサンプルまでつけて頂き助かります。Calendar型のJavadocをさらっと見た感じアドバイスの通り互換性がありますね、サンプルを元にJavadocを見ながらいろいろいじってみようと思います。

その他の回答 (1)

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

>大半が推奨されません、になっていてよくわからない状態です。 「推奨されません」の近くに「GregorianCalendar に置き換えられました」とか書いてませんか?

noname#59895
質問者

お礼

回答ありがとうございます、日付型はDateだけじゃなく Calendar型もあるのですね。

関連するQ&A