Cómo añadir o restar horas, minutos o segundos a una fecha en java con la clase Calendar

A veces es necesario, en nuestros programas java, incrementar o restar de una fecha en cierta cantidad de horas, minutos o segundos. Usando la clase Calendar de este lenguaje es muy sencillo hacer este tipo de operaciones con el tiempo.

Aquí les dejo el código auto-explicativo:

import java.util.Calendar;

/**
 *
 * @author scyasig
 */
public class OperacionesCalendar {
    
  public static void main(String[] args) {
        
    // Obtiene fecha y hora actuales
    Calendar fecha = Calendar.getInstance();
    System.out.println("La fecha actual es: " + 
      String.format("%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS", fecha));
        
    // Incrementa 30 segundos la fecha 
    fecha.add(Calendar.SECOND, 30);
    System.out.println("La fecha actual es: " + 
      String.format("%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS", fecha));

    // Incrementa 30 minutos la fecha
    fecha.add(Calendar.MINUTE, 30);
    System.out.println("La fecha actual es: " + 
      String.format("%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS", fecha));
        
    // Restar 30 horas la fecha
    fecha.add(Calendar.HOUR, -30);
    System.out.println("La fecha actual es: " + 
      String.format("%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS", fecha));
        
  }
  
}

Al ejecutar el código anterior dará la siguiente salida (dependiendo de la hora en que sea ejecutado):

La fecha actual es: 2017-01-23 21:18:23
La fecha actual es: 2017-01-23 21:18:53
La fecha actual es: 2017-01-23 21:48:53
La fecha actual es: 2017-01-22 15:48:53

Espero y les sea útil.

¡Hasta la próxima!

 

Deja un comentario