sumar o restar días con Java

1

La siguiente clase suma o resta días en un objeto Date de Java

// nombre: SumaRestaFecha
// created: Feb 23, 2017 9:21 AM
// Author: vmarquez9@hotmail.com
// Revisions: vmarquez9@hotmail.com (23/02/2017) - Pruebas
//

package com.mit.nomina;

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

public class SumaRestaFecha {

public static Date addDays(Date fecha, int dias) {
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(fecha);
cal.add(Calendar.DATE, dias);
return cal.getTime();
}

public static Date subtractDays(Date fecha, int dias) {
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(fecha);
cal.add(Calendar.DATE, -dias);
return cal.getTime();
}
}

Ejemplo de uso:

// nombre: JavaDateAddSubtract
// created: Feb 23, 2017 9:21 AM
// Author: vmarquez9@hotmail.com
// Revisions: vmarquez9@hotmail.com (23/02/2017) - Pruebas
//

package com.mit.nomina;

import java.util.Date;

public class JavaDateAddSubtract {
public static void main(String[] args) {
Date fecha = new Date();
System.out.println("La fecha de ho es: "+fecha.toString());

int i=10;
while(i<=50){
Date newDate = SumaRestaFecha.addDays(fecha, i);
System.out.println("La fecha después de sumar "+i+" días: "+newDate.toString());
i+=10;
}
System.out.println("---------------------------------------------------------------");

i=10;
while(i<=50){
Date newDate = SumaRestaFecha.subtractDays(fecha, i);
System.out.println("La fecha después de restar "+i+" días: "+newDate.toString());
i+=10;
}
}
}

Después de ejecuar el código se obtiene la siguiente salida:

La fecha de ho es: Thu Feb 23 09:12:35 CST 2017
La fecha después de sumar 10 días: Sun Mar 05 09:12:35 CST 2017
La fecha después de sumar 20 días: Wed Mar 15 09:12:35 CST 2017
La fecha después de sumar 30 días: Sat Mar 25 09:12:35 CST 2017
La fecha después de sumar 40 días: Tue Apr 04 09:12:35 CDT 2017
La fecha después de sumar 50 días: Fri Apr 14 09:12:35 CDT 2017
—————————————————————
La fecha después de restar 10 días: Mon Feb 13 09:12:35 CST 2017
La fecha después de restar 20 días: Fri Feb 03 09:12:35 CST 2017
La fecha después de restar 30 días: Tue Jan 24 09:12:35 CST 2017
La fecha después de restar 40 días: Sat Jan 14 09:12:35 CST 2017
La fecha después de restar 50 días: Wed Jan 04 09:12:35 CST 2017

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s