En este tutorial vamos a mostrar unos ejemplos para trabajar con fechas en Java. Los ejemplos que aparecen a continuación sirven para:
- Sumar X días a una fecha dada
- Restar X días a una fecha dada
- Sumar X horas a una fecha dada
- Restar X horas a una fecha dada
En el tutorial trabajaremos con objetos de la clase ‘java.util.Calendar’ y ‘java.util.Date’.
Los ejemplos empleados siguen el mismo patrón, primero se crea un objeto ‘java.util.Calendar‘ con el objeto ‘java.util.Date‘ que contiene la fecha que se recibe por parámetro, y posteriormente se le suman o restan las unidades de tiempo que se pasen como parámetro.
Sumar o restar días a una fecha java
En el siguiente fragmento de código se crea un método que recibe dos parámetros, uno con la fecha a modificar, y el segundo con la cantidad de días a sumar o restar. Si la variable ‘dias‘ es mayor que cero entonces se sumarán dichos días a la fecha, por el contrario, si la variable días es menor que cero, entonces se restarán dichos días a la fecha:
Java |copy code |?
01 // Suma los días recibidos a la fecha
02 public Date sumarRestarDiasFecha(Date fecha, int dias){03 04 Calendar calendar = Calendar.getInstance();05 calendar.setTime(fecha); // Configuramos la fecha que se recibe06 calendar.add(Calendar.DAY_OF_YEAR, dias); // numero de días a añadir, o restar en caso de días<007 08 return calendar.getTime(); // Devuelve el objeto Date con los nuevos días añadidos09 10 }
Sumar y restar horas a una fecha java
Al igual que en el caso anterior, en función del valor de la variable ‘horas‘ se sumarán o restarán dichas horas a la fecha indicada:
Java |copy code |?
01 // Suma o resta las horas recibidos a la fecha
02 public Date sumarRestarHorasFecha(Date fecha, int horas){03 04 Calendar calendar = Calendar.getInstance();05 calendar.setTime(fecha); // Configuramos la fecha que se recibe06 calendar.add(Calendar.HOUR, horas); // numero de horas a añadir, o restar en caso de horas<007 08 return calendar.getTime(); // Devuelve el objeto Date con las nuevas horas añadidas09 10 }
Otros parámetros configurables en las fechas
Si observamos los dos método podemos ver que únicamente se cambia ‘Calendar.DAY_OF_YEAR‘ por ‘Calendar.HOUR‘. Esto es así porque el método ‘Calendar.add‘ recibe como primer parámetro el campo del calendario que se va a modificar y como segundo el valor que se sumará o restará. Por tanto, dependiendo del campo que utilizemos podremos sumar o restar cierta cantidad de unidades a la fecha indicada.
Otros posibles valores serían:
- Calendar.MILISECOND para milisegundos
- Calendar.SECOND para segundos
- Calendar.MINUTE para minutos
- Calendar.HOUR para horas
- Calendar.DAY_OF_YEAR para días
- Calendar.MONTH para meses
- Calendar.YEAR para años
Deja tu comentario