注目記事

【Javaコード入門】日付/時刻_⑥rollメソッド

日付/時刻要素を加算/減算する(ローリング) – 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

  1. package com.example.mynavi.calendar;
  2.  
  3. import java.util.Calendar;
  4.  
  5. public class CalRoll {
  6.   public static void main(String[] args) {
  7.     var cal = Calendar.getInstance();
  8.     System.out.println(cal.getTime());  // 結果:Fri Jan 10 18:07:31 JST 2025
  9.     cal.roll(Calendar.MINUTE, true);
  10.     System.out.println(cal.getTime());  // 結果:Fri Jan 10 18:08:31 JST 2025
  11.   }
  12. }

関連ページ

日付/時刻_目次
日付/時刻
getTimeメソッド
getメソッド
setメソッド
addメソッド
rollメソッド
clearメソッド
before/equals/afterメソッド

監修

山田祥寛(有限会社 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万部を超える。