今回はJavaでのCalendarを使った日時の計算を解説します。
現場でよく使われているJava7までの基本的な日時の計算方法について説明します。
Java8以降ではLocalDateTimeに日付の扱いが置き換わっていますので、今回は説明は割愛します。
LocalDateTimeについては、また後日解説記事を書くと思います。
Calendarクラスでの日時の取り扱い
Java7では日時の取り扱いにはCalendarクラスで行います。
今回はその中でも日時の計算に焦点を絞りたいと思います。
Java7までで日時を表示する場合はDateクラスが使われているため、日時の文字列から取得して日にちを変更するには、
String→Date→Calendarの変換が必要となります。
CalendarとDateの変換はこちら。
文字列とDateの変換はこちら。
日時の計算
Calendarクラスのaddメソッドを使用します。
第一引数に日時を表す定数、第二引数に足し引きする値を設定します。
引き算の場合は-の値を入れてください。
月だけは0からスタートするので注意してください。
例は2018年3月23日の日付に日にちを10日足して年を10年引いています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, 10); calendar.add(Calendar.YEAR, -10); System.out.println("年:" + calendar.get(Calendar.YEAR)); System.out.println("月:" + calendar.get(Calendar.MONTH)); System.out.println("日:" + calendar.get(Calendar.DATE)); System.out.println("時:" + calendar.get(Calendar.HOUR)); System.out.println("分:" + calendar.get(Calendar.MINUTE)); System.out.println("秒:" + calendar.get(Calendar.SECOND)); -> 年:2008 月:3 日:2 時:13 分:00 秒:00 |
以上でCalendarクラスでの日時の計算の解説は終わりです。
そのうち現場でよく使われる、日付の編集の仕方やLocalDateTimeの使い方について解説する記事を書きます。