lunes, 4 de mayo de 2009

Calendar

Calendar es una clase abstracta base para convertir entre un objeto de tipo Date (java.util.Date) y un conjunto de campos enteros como YEAR (año), MONTH (mes), DAY (día), HOUR (hora), etc.

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
Por ejemplo nosotros utilizaríamos la subclase GregorianCalendar.
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().