The roll(int calndr_field, boolean up_down) method in Calendar class is used to operate on the passed calendar field by moving the passed field, up or down by a single unit of time. This involves addition or subtraction of the time field without changing the larger fields.
Syntax:
public abstract void roll(int calndr_field, boolean up_down)
Parameters: The method takes two parameters:
- calndr_field: This is of Calendar type and refers to the field of the calendar that is to be operated upon.
- up_down: This is of the boolean type that is used to indicate whether to move calndr_field up or down or to increase or decrease. The true indicates adding a unit of time and false subtracts the same.
Return Value: The method does not return any value.
Below programs illustrate the working of roll() Method of Calendar class:
Example 1:
// Java code to illustrate// isSet() method  import java.util.*;public class Calendar_Demo {    public static void main(String args[])    {          // Creating a calendar        Calendar calndr = Calendar.getInstance();          // Displaying the year        System.out.println("The Current Year"                           + " is: "                           + calndr.get(                                 Calendar.YEAR));          // Decrementing the year        // false indicates subtraction        calndr.roll(Calendar.YEAR, false);          // Displaying the result after operation        System.out.println("The New Year is: "                           + calndr.get(                                 Calendar.YEAR));          // Incrementing the year        // true indicates addition        calndr.roll(Calendar.YEAR, true);          // Displaying the result after operation        System.out.println("The new year is: "                           + calndr.get(                                 Calendar.YEAR));    }} |
The Current Year is: 2019 The New Year is: 2018 The new year is: 2019
Example 2:
// Java code to illustrate// isSet() method  import java.util.*;public class Calendar_Demo {    public static void main(String args[])    {          // Creating a calendar        Calendar calndr = Calendar.getInstance();          // Displaying the month        System.out.println("The Current Month"                           + " is: "                           + calndr.get(                                 Calendar.MONTH));          // Incrementing the month        // true indicates addition        calndr.roll(Calendar.MONTH, true);          // Displaying the result after operation        System.out.println("The New Month is: "                           + calndr.get(                                 Calendar.MONTH));          // Decrementing the month        // false indicates subtraction        calndr.roll(Calendar.MONTH, false);          // Displaying the result after operation        System.out.println("The new month is: "                           + calndr.get(                                 Calendar.MONTH));    }} |
The Current Month is: 1 The New Month is: 2 The new month is: 1
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/Calendar.html#roll-int-boolean-
