Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Last active April 25, 2023 21:58
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/ea50528acfb428f7dcedc5d338105993 to your computer and use it in GitHub Desktop.
Save parzibyte/ea50528acfb428f7dcedc5d338105993 to your computer and use it in GitHub Desktop.
/*
Sumar y restar fechas con Java y Calendar
@author parzibyte
*/
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Locale;
class Main {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
System.out.println("Fecha original: " + formatearCalendar(c));
// Restar cinco meses
c.add(Calendar.MONTH, -5);
System.out.println("-5 meses: " + formatearCalendar(c));
// Sumar 2 años
c.add(Calendar.YEAR, 2);
System.out.println("+2 años: " + formatearCalendar(c));
// Restar 2 días
c.add(Calendar.DAY_OF_YEAR, -2);
System.out.println("-2 días: " + formatearCalendar(c));
// Sumar 52 días
c.add(Calendar.DAY_OF_YEAR, 52);
System.out.println("+52 días: " + formatearCalendar(c));
// Sumar 24 horas
c.add(Calendar.HOUR_OF_DAY, 24);
System.out.println("+24 horas: " + formatearCalendar(c));
// Sumar 1500 minutos (25 horas)
c.add(Calendar.MINUTE, 1500);
System.out.println("+1500 minutos: " + formatearCalendar(c));
// Restar 90000 segundos (25 horas, 25 * 60 * 60)
c.add(Calendar.SECOND, -90000);
System.out.println("-90000 segundos: " + formatearCalendar(c));
}
// Este es un método para formatear e imprimir la fecha, pero no tiene nada
// que ver con sumar o restar
public static String formatearCalendar(Calendar c) {
DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.getDefault());
return df.format(c.getTime());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment