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