Como adicionar um dia a uma data em Java
- Método para adicionar um dia a uma data em Java
-
Calendar
Método para adicionar um dia a uma data em Java -
Adicionar
Milissegundos
para adicionar um dia a uma data em Java -
Classe
Instant
para adicionar um dia a uma data em Java
Neste tutorial, aprenderemos como adicionar dias a uma Date
em Java. Isto pode ser feito utilizando várias abordagens como o método plusDays
, o método classe Calendar
, adicionando milissegundos a um objeto Date
, e o método Instant class
. Se você estiver utilizando Java 1.8
ou superior, então a abordagem plusDays
é recomendada.
Método para adicionar um dia a uma data em Java
Em Java 1.8
em diante, novas classes de java.time
, ou seja, LocalDate
, LocalDateTime
têm métodos plusDays
e minusDays
para adicionar e subtrair unidade de tempo de qualquer instância de tempo.
Códigos de exemplo:
// 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);
}
}
Resultado:
Today: 2020-03-22T19:01:00.728
Tomorrow: 2020-03-23T19:01:00.728
Yesterday: 2020-03-21T19:01:00.728
Calendar
Método para adicionar um dia a uma data em Java
Podemos utilizar a classe Calendar
para adicionar um dia a uma Date
em Java. Isso pode ser feito simplesmente adicionando um dia à classe 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);
}
}
Resultado:
Today: Sun Mar 22 19:07:48 PKT 2020
Tomorrow: Mon Mar 23 19:07:48 PKT 2020
Adicionar Milissegundos
para adicionar um dia a uma data em Java
A Date
tem um construtor utilizando milissegundos. O método getTime()
nos dá esse valor. Portanto, somar os milissegundos por um dia adicionará um dia à 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);
}
}
Resultado:
Today: Sun Mar 22 19:15:27 PKT 2020
Tomorrow: Mon Mar 23 19:15:27 PKT 2020
Tenha cuidado; se utilizarmos um Calendário Fuso Horário
com economia de luz do dia, ele não poderá saltar para o dia seguinte.
Classe Instant
para adicionar um dia a uma data em Java
A classe Instant
está próxima de ser equivalente a Date
. A classe Instant
resolve a nanossegundos. O método instant.plus
acrescenta os dias dados a Date
.
Códigos de exemplo:
// 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);
}
}
Resultado:
Today: Sun Mar 22 19:19:58 PKT 2020
Tomorrow: 2020-03-23T14:19:58.072Z