Calendar tiene muchas funciones en común con java.util.Date, lo que diferencia es a la hora de extraer datos, los de java.util.Date están obsoletos, y si manejamos algunos de estos métodos en realidad esas accediendo a funcionalidades de la clase Calendar.
El método getInstance() nos devuelve una subclase de Calendar con la hora actual, y usamos el método set( ) para cambiar a la fecha.
Tenemos que tener en cuenta que no todos los calendarios tienes años de 365 o 12 meses y a la hora de realizar operaciones tenemos que utilizar las subclases adecuadas el tipo de calendario que queramos.
Para extraer los datos tenemos:
- YEAR
- MONTH
- DATE, DAY_OF_MONTH
- HOUR
- MINUTE
- SECOND
Con esta clase podemos sumar varios días sin preocuparnos de calcular luego el año o el mes, lo hace la subclase sola.
Tenemos dos métodos que nos permiten avanzar un tiempo exacto sobre los datos obtenidos anteriormente, add(Constante, valor) y roll(Constante, valor), recordemos que constante es por ejemplo Calendar.MONTH.
Roll() este hay que tener en cuanta que cuando llega al limite inferior o superior de constante cambia al limite contrario sin cambiar los siguientes atributos.
Los que hay que tener en cuenta son add(), get(),set().