Cómo añadir un día a una Date en Java
-
El método
plusDays()
para añadir un día a unaDate
en Java -
Método
Calendar
para añadir un día a una fecha en Java -
Agregar
Milliseconds
para agregar un día a una fecha en Java -
La clase
Instant
para añadir un día a una fecha en Java
En este tutorial, aprenderemos cómo añadir días a una Date
en Java
. Esto se puede hacer usando varios enfoques como el método plusDays
, el método de la clase Calendar
, añadiendo milisegundos a un objeto Date
, y el método de la clase instantánea
. Si estás usando Java 1.8
o mayor, entonces se recomienda el método plusDays
.
El método plusDays()
para añadir un día a una Date
en Java
En Java 1.8
en adelante, las nuevas clases de java.time
, es decir, LocalDate
, LocalDateTime
tienen métodos de plusDays
y minusDays
para sumar y restar la unidad de tiempo de cualquier instancia de tiempo.
Considera el siguiente código:
// java 1.8
package simpletesting;
import java.time.LocalDateTime;
public class SimpleTesting {
public static void main(String[] args) {
LocalDateTime today = LocalDateTime.now(); // Today
LocalDateTime tomorrow = today.plusDays(1); // Plus 1 day
LocalDateTime yesterday = today.minusDays(1); // Minus 1 day
System.out.println("Today: " + today);
System.out.println("Tomorrow: " + tomorrow);
System.out.println("Yesterday: " + yesterday);
}
}
Producción :
Today: 2020-03-22T19:01:00.728
Tomorrow: 2020-03-23T19:01:00.728
Yesterday: 2020-03-21T19:01:00.728
Método Calendar
para añadir un día a una fecha en Java
Podemos usar la clase de Calendar
para añadir un día a una Date
en Java. Se puede hacer simplemente añadiendo un día a la clase del Calendar
:
// java 1.8
package simpletesting;
import java.util.Calendar;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) {
Date dt = new Date();
System.out.println("Today: " + dt);
Calendar c = Calendar.getInstance();
c.setTime(dt);
c.add(Calendar.DATE, 1);
dt = c.getTime();
System.out.println("Tomorrow: " + dt);
}
}
Producción :
Today: Sun Mar 22 19:07:48 PKT 2020
Tomorrow: Mon Mar 23 19:07:48 PKT 2020
Agregar Milliseconds
para agregar un día a una fecha en Java
Date
tiene un constructor que usa milisegundos. El método getTime()
nos da ese valor. Así que sumando los milisegundos de un día, se sumará un día a Date
.
Código:
// java 1.8
package simpletesting;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) {
Date dt = new Date();
System.out.println("Today: " + dt);
Date tomorrow = new Date(dt.getTime() + (1000 * 60 * 60 * 24));
System.out.println("Tomorrow: " + tomorrow);
}
}
Producción :
Today: Sun Mar 22 19:15:27 PKT 2020
Tomorrow: Mon Mar 23 19:15:27 PKT 2020
Ten cuidado, si usamos una Zona Horaria del Calendario
con ahorro de luz, puede que no salte al día siguiente.
La clase Instant
para añadir un día a una fecha en Java
La clase Instant
está cerca de ser equivalente a la Date
. Instant
se resuelve en nanosegundos. El método instant.plus
suma los días dados a la Date
.
Código:
// java 1.8
package simpletesting;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) {
Date dt = new Date();
System.out.println("Today: " + dt);
Instant instant = dt.toInstant();
Instant nextDay = instant.plus(1, ChronoUnit.DAYS);
System.out.println("Tomorrow: " + nextDay);
}
}
Producción :
Today: Sun Mar 22 19:19:58 PKT 2020
Tomorrow: 2020-03-23T14:19:58.072Z