4.        Calendar (clase)

Es una clase muy general para manejar fechas y horas.

En parte reemplaza las funciones de Date, y además añade muchísima flexibilidad.

La clase carece de constructores públicos, así que la forma de crear objetos de esta clase es por medio de una factoría

Calendar ahora = Calendar.getInstance();

Calendar ahora = Calendar.getInstance(Locale locale);

Calendar ahora = Calendar.getInstance(TimeZone zone);

Calendar ahora = Calendar.getInstance(TimeZone zone,

                                      Locale locale);

La primera factoría utiliza la configuración por defecto de idioma del ordenador donde se ejecuta y el huso horario en el que esté configurado.

Por ejemplo

Locale

Locale aqui = Locale.getDefault();

Locale spanish = new Locale(“es”);

Locale spanish = new Locale(“es”, “ES”);

Locale mexico = new Locale(“es”, “MX”);

TimeZone

TimeZone aqui = TimeZone.getDefault();

TimeZone madrid = new TimeZone(“Europe/Madrid”);

 

Una vez construido el Calendar, podemos usar métodos getter y setter:

int get(int campo)

Date getTime()

long getTimeInMillis()

 

void set(int campo, int valor)

void set(int año, int mes, int día)

void set(int año, int mes, int día, int hora, int minuto)

void set(int año, int mes, int día,

         int hora, int minuto, int segundo)

void setTime(Date date)

void setTimeInMillis(long milisegundos)

El siguiente método añade una cierta cantidad a un determinado campo:

void add(int campo, int valor);

Puede ser útil para averiguar si un año es bisiesto:

boolean isLeapYear(int año);

Para imprimir fechas puede recurrir a la clase Formatter o a clases ad-hoc como son

java.util.DateFormat

java.util.SimpleDateFormat

Temas relacionados

Las Bibliotecas de Java
Campos
Ejemplo: código para marcar una fecha
Ejemplo: código para calcular la distancia entre dos fechas