El objeto Calendar
tiene un método add
que permite agregar o restar valores de un campo específico.
Por ejemplo,
Calendar c = new GregorianCalendar(2009, Calendar.JANUARY, 1);
c.add(Calendar.DAY_OF_MONTH, 1);
Las constantes para especificar el campo se pueden encontrar en el "Resumen El campo" de la clase Calendar
.
Solo para referencia futura, The Java API Specification contiene mucha información útil acerca de cómo usar las clases que son parte de la API de Java.
Actualización:
estoy consiguiendo el error encontró vacío, sino int era de esperar, en 'newDay = startDate.add (5, 1);' ¿Qué debería hacer ?
El método add
no devuelve nada, por lo tanto, intentar asignar el resultado de llamar Calendar.add
no es válido.
El error del compilador indica que se está intentando asignar un void
a una variable con el tipo de int
. Esto no es válida, ya que no se puede asignar "nada" a una variable int
.
Sólo una conjetura, pero tal vez esto puede ser lo que está tratando de lograr:
// Get a calendar which is set to a specified date.
Calendar calendar = new GregorianCalendar(2009, Calendar.JANUARY, 1);
// Get the current date representation of the calendar.
Date startDate = calendar.getTime();
// Increment the calendar's date by 1 day.
calendar.add(Calendar.DAY_OF_MONTH, 1);
// Get the current date representation of the calendar.
Date endDate = calendar.getTime();
System.out.println(startDate);
System.out.println(endDate);
Salida:
Thu Jan 01 00:00:00 PST 2009
Fri Jan 02 00:00:00 PST 2009
Lo que debe tenerse en cuenta es lo que en realidad es Calendar
.
Un Calendar
no es una representación de una fecha. Es una representación de un calendario, y hacia donde apunta actualmente. Con el fin de obtener una representación de donde el calendario está apuntando a por el momento, se debe obtener una Date
del Calendar
utilizando el método getTime
.
Tres preguntas en un par de horas sobre las fechas. Tal vez es hora de mirar primero la API. – camickr