この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:3
ページ更新者:T
更新日時:2019-04-18 09:57:38

タイトル: 日付の加算、減算
SEOタイトル: 【Java】日付の加算、減算

この記事の要点
  • Java で日付の加算・減算
  • 従来 (Java 7-): Calendar クラス + cal.add(Calendar.DAY_OF_MONTH, 1)
  • 推奨 (Java 8+): LocalDate / LocalDateTime + .plusDays(1) / .minusMonths(2)
  • 文字列との相互変換は SimpleDateFormat(旧)/ DateTimeFormatter(新)

 

本稿はJavaの日付を加算、減算する方法について記載します。

 

処理の流れ

1.SimpleDateFormatクラスにて解析する日付の型を指定する。 例:yyyy/MM/dd

2.文字列の日付を解析してDateクラスに変換する。

3.日付計算はCalendarクラスにて行うので更にCalendarクラスに変換する。

4.加算、減算処理を行う

5.SimpleDateFormatクラスで計算したCalendarクラスを解析して文字列に変換する。

 

実装例

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

...

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Date date = sdf.parse("20180101");
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DATE, -1);
String strDate = sdf.format(calendar.getTime());