日付/時刻要素を加算/減算する(ローリング) – rollメソッド
public void roll(int field, int amount)
public abstract void roll(int field, boolean up)
field:加算/減算する日付/時刻フィールド(getメソッドの表を参照)
amount:増減分
up:増加するか
rollメソッドも、addメソッドと同じく、日付/時刻要素を加算/減算します。ただし、addメソッドと以下の点で異なります。
(1)他のフィールドに影響を与えない
17:59に1分を加算した場合、addメソッドは時が繰り上がり、18:00となります。しかし、rollメソッドは繰り上がりを行わず、17:00となります。
(2)第2引数にブール値を指定できる
第2引数にtrueを指定した場合、指定された日付/時刻フィールドをインクリメントし、falseを指定した場合にデクリメントします。
CalRoll.java
- package com.example.mynavi.calendar;
- import java.util.Calendar;
- public class CalRoll {
- public static void main(String[] args) {
- var cal = Calendar.getInstance();
- System.out.println(cal.getTime()); // 結果:Fri Jan 10 18:07:31 JST 2025
- cal.roll(Calendar.MINUTE, true);
- System.out.println(cal.getTime()); // 結果:Fri Jan 10 18:08:31 JST 2025
- }
- }
関連ページ
監修
山田祥寛(有限会社 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万部を超える。