Cómo Trabajar con Fechas en Java: Ejemplos y Métodos Útiles
Fechas en Java
Thank you for reading this post, don't forget to subscribe!En este pequeño post les voy a mostrar algunos trucos básicos para trabajar con fechas cuando estamos programando en Java.
Pero antes, se debe aclarar que el tipo de dato «Fechas» en Java es sinónimo de varias conversiones, Espero que os sean útiles:
Si queremos crear un objeto Date con la fecha actual tenemos que ejecutar la sentencia:
Date fechaActual = new Date();
Si lo que queremos en crear un objeto Date con una fecha determinada, digamos 31/12/2012, podemos utilizar la clase SimpleDateFormat:
SimpleDateFormat formateador = new SimpleDateFormat(«yyyyMMdd»);
formateador.parse(«2012/12/31»);
También a veces tenemos que imprimir fechas en un formato determinado.
Sin embargo esto también se consigue mediante máscaras y la clase SimpleDateFormat.
Imaginemos que tenemos un objeto Date con la fecha 31 de Diciembre de 2012.
A causa de imprimir por pantalla la fecha en el formato 31-12-2012 podemos utilizar las siguientes sentencias:
SimpleDateFormat formateador = new SimpleDateFormat(«dd-MM-yyyy»);
System.out.println(formateador.format(fechaObjetoDate));
Pero si queremos comprobar si una fecha es mayor que otra debemos utilizar el método compareTo:
if (fechaObjetoDate1.compareTo(fechaObjetoDate2) >= 0 ) {
System.out.println(«La fecha 1 es posterior a la fecha 2»);
}
Si queremos encapsular la hora y la fecha actual en un mismo objeto podemos utilizar la clase Timestamp:
Timestamp horaFecha = new Timestamp(System.currentTimeMillis());
Sin embargo existe otro objeto para trabajar con fechas la cual es el objeto Calendar.
Para crear un objeto Calendar con la fecha actual utilizamos la siguiente sentencia:
Calendar calendar = Calendar.getInstance();
A veces lo que queremos es transformar un objeto Date a Calendar.
Lo que tenemos que hacer en este caso es convertirlo de la siguiente forma:
Calendar calendar = Calendar.getInstance();
calendar.setTime(objetoDate);
En otras ocasiones lo que queremos conseguir es un objeto Date a partir de un Calendar.
A causa de este caso lo podemos convertir con las siguientes sentencias:
Calendar calendar = Calendar.getInstance();
calendar.getTime();
Para inicializar un objeto Calendar con una fecha determinada sin utilizar el objeto Date:
Calendar fecha= Calendar.getInstance();
fecha.set(2011, 9, 25); // (Año, Mes, Dia). El Mes es un número menos. Enero=0, Febrero=1…
En caso de calcular los días transcurridos entre dos fechas podemos utilizar el siguiente método:
public static int diasTranscurridosEntre(Date fechaDesde, Date fechaHasta) {
long diff = fechaHasta.getTime() – fechaDesde.getTime();
long dias = diff / (1000 * 60 * 60 * 24);
return (int) dias;
}
Para sumar un número de meses a una fecha podemos utilizar el siguiente método:
public static Date sumarMesesAFecha(Date f, int meses) {
Calendar c = Calendar.getInstance();
c.setTime(f);
c.add(Calendar.MONTH, meses);
return c.getTime();
}
Para sumar un número de días a una fecha podemos utilizar el siguiente método:
public static Date sumarDiasAFecha(Date f, int dias) {
Calendar c = Calendar.getInstance();
c.setTime(f);
c.add(Calendar.DATE, dias);
return c.getTime();
}
Sin embargo para lograr poner en practica todos estos códigos, es necesario ponerlos en practica, porque no es lo mismo ver la teoría, que la practica.
Pero también ocurre el caso de tener código y no saber donde aplicarlo, sin embargo para darle una pista, fíjense en la primera línea de cada codigo.
Quiere decir que es aplicable como método donde solo obtenemos el retorno de cada uno.
Cualquier duda no dude en escribir sus comentarios!!
Comentarios recientes