今回はJavaでのCalendarとDateの変換を解説していきます。
CalendarからDateに変えたり、その逆というのはよくあると思います。
現場でよく使われているJava7までの基本的な変換方法について説明します。
Java8以降ではLocalDateTimeに日付の扱いが置き換わってしますので、今回は説明は割愛します。
LocalDateTimeについては、また後日解説記事を書くと思います。
JavaでのCalendar⇔Date変換
Calendar→DateはCalendarクラスのgetTimeメソッドでします。
Date→CalendarはCalendarのオブジェクトにsetTimeメソッドで設定します。
どちらもCalendarクラスのメソッドというのがポイントです。
CalendarからDate
CalendarのオブジェクトでgetTimeするとDateが返ってきます。
1 2 3 4 |
Calendar calendar = Calendar.getInstance(); Date date = calendar.getTime(); |
DateからCalendar
まずCalendar.getInstanceでオブジェクトを生成します。
できたオブジェクトにDateを引数にしてsetTimeします。
1 2 3 4 5 |
Date date = new Date(); Calendar calendar = Calendar.getInstance(); calendar.setTime(date); |
Calendar⇔Date変換メソッド
あらかじめ、下記のようなメソッドを作っておくと、変換の仕方を一々思い出さなくていいので便利です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public Date getDate(Calendar calendar){ Date date = calendar.getTime(); return date; } public Calendar getCalendar(Date date){ Calendar calendar = Calendar.getInstance(); calendar.setTime(date); return calendar; } |
以上でDateとCalendarの変換の解説は終了です。
そのうち現場でよく使われる、日付の編集の仕方やLocalDateTimeの使い方について解説する記事を書きます。
Calendarでの日時の設定はこちら。