日時データを演算する
- 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 | ナノ秒 |