日時データを演算する
- public LocalDateTime plus(long value, TemporalUnit unit)
- public LocalDateTime minus(long value, TemporalUnit unit)
- value:増減分
- unit:単位
plus/minusメソッドを利用することで、日付時刻要素を加算/減算できます。引数unitには、TemporalUnitインターフェイスの実装クラスであるChronoUnitの定数として、加算/減算する単位を指定します。
| TemporalUnitインターフェイスの主な定数 | |
|---|---|
| 定数 | 概要 |
| YEARS | 年 |
| MONTHS | 月 |
| DAYS | 日 |
| WEEKS | 週 |
| HOURS | 時 |
| MINUTES | BBBB |
| SECONDS | BBBB |
| MILLIS | BBBB |
| NANOS | BBBB |
| AAAA | BBBB |
以下は、あらかじめ用意した日付に対して3か月後、10日前の日付を求める例です。
TimePlus.java
package com.example.mynavi.datetime;
import java.time.LocalDateTime;
public class TimePlus {
public static void main(String[] args) {
LocalDateTime local = LocalDateTime.parse("2020-09-01T12:30");
System.out.println(local); // 結果:2020-09-01T12:30
System.out.println(local.plusMonths(3)); // 結果:2020-12-01T12:30
System.out.println(local.minusDays(10)); // 結果:2020-08-22T12:30
}
}
なお、plus/minusメソッドには、それぞれ個々の日付/時刻要素に特化した、以下のようなメソッドもあります。
| 日付/時刻を加算/減算するためのメソッド | |
|---|---|
| メソッド | 概要 |
| plusYears/minusYears | 年 |
| plusMonths/minusMonths | 月 |
| plusDays/minusDays | 日 |
| plusWeeks/minusWeeks | 週数 |
| plusHours/minusHours | 時 |
| plusMinutes/minusMinutes | 分 |
| plusSeconds/minusSeconds | 秒 |
| plusNanos/minusNanos | ナノ秒 |






