The complete() method in Calendar class is used to fill any unset fields of the calendar fields. It follows the following process of completion:
- At first, if the time value has not been calculated, the computeTime() method is called to calculate it from calendar field values.
- Second, to calculate all the calendar field values the computeFields() method is used.
Syntax:
protected void complete()
Parameters: The method does not take any parameters.
Return Value: The method does not return any value.
Below programs illustrate the working of complete() Method of Calendar class:
Example 1:
// Java Code to illustrate// complete() Method  import java.util.*;  public class CalendarClassDemo    extends GregorianCalendar {    public static void main(String args[])    {        // Creating calendar object        CalendarClassDemo calndr = new CalendarClassDemo();          // Displaying the current date        System.out.println("The Current "                           + "date is: " + calndr.getTime());          // Clearing the calendar        calndr.clear();          // Set a new year and call        // complete()        calndr.set(GregorianCalendar.YEAR, 2008);        calndr.complete();          // Displaying the current date        System.out.println("The new"                           + " date is: " + calndr.getTime());    }} |
The Current date is: Wed Feb 13 15:39:33 UTC 2019 The new date is: Tue Jan 01 00:00:00 UTC 2008
Example 2:
// Java Code to illustrate// complete() Method  import java.util.*;  public class CalendarClassDemo    extends GregorianCalendar {    public static void main(String args[])    {        // Creating calendar object        CalendarClassDemo calndr = new CalendarClassDemo();          // Displaying the current date        System.out.println("The Current "                           + "date is: " + calndr.getTime());          // Clearing the calendar        calndr.clear();          // Set a new year and call        // complete()        calndr.set(GregorianCalendar.YEAR, 1996);        calndr.complete();          // Displaying the current date        System.out.println("The new"                           + " date is: " + calndr.getTime());    }} |
The Current date is: Wed Feb 13 15:39:36 UTC 2019 The new date is: Mon Jan 01 00:00:00 UTC 1996
Reference: https://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html#complete()
