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 | 分 |
| SECONDS | 秒 |
| MILLIS | ミリ秒 |
| MICROS | マイクロ秒 |
| NANOS | ナノ秒 |
以下は、あらかじめ用意した日付に対して3か月後、10日前の日付を求める例です。
TimePlus.java
- package com.example.mynavi.datetime;
- import java.time.LocalDateTime;
- public class TimePlus {
- public static void main(String[] args) {
- var local = LocalDateTime.parse("2025-09-01T12:30");
- System.out.println(local); // 結果:2025-09-01T12:30
- System.out.println(local.plusMonths(3)); // 結果:2025-12-01T12:30
- System.out.println(local.minusDays(10)); // 結果:2025-08-22T12:30
- }
- }
なお、plus/minusメソッドには、それぞれ個々の日付/時刻要素に特化した、以下のようなメソッドもあります。
| 日付/時刻を加算/減算するためのメソッド | |
|---|---|
| メソッド | 概要 |
| plusYears/minusYears | 年 |
| plusMonths/minusMonths | 月 |
| plusDays/minusDays | 日 |
| plusWeeks/minusWeeks | 週数 |
| plusHours/minusHours | 時 |
| plusMinutes/minusMinutes | 分 |
| plusSeconds/minusSeconds | 秒 |
| plusNanos/minusNanos | ナノ秒 |
- 日付/時刻(Date-Time API)_目次
- 日付/時刻(Date-Time API)
- now/of/parseメソッド
- formatメソッド
- betweenメソッド
- 日時データを演算する
- Date/Calendarクラス⇔DateTime-APIのクラスを相互変換する
監修
山田祥寛(有限会社 WINGSプロジェクト)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NEC にてシステム企画業務に携わるが、2003年 4 月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト(https://wings.msn.to/)」の代表でもある。主な著書に『改訂 3 版JavaScript 本格入門』(技術評論社)、「独習シリーズ(C#・Python・PHP・Ruby・JSP&サーブレットなど)」(翔泳社)、「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravel など)」(Amazon Kindle)など。売り上げの累計は100万部を超える。