Boa tarde. Estou fazendo aula onde gerando um token JWT. Funcionou a principio mas nos meus testes posterior notei que o token não esta expirando no tempo esperado. Após analise notei que quando eu dou um toInstant nessa linha:
Instant instant = LocalDateTime.now().plusHours(2).toInstant(ZoneOffset.of("-03:00"));
É retornado uma data 3 horas a mais. Fiz um main aqui pra validar como mostrado abaixo. Alguem notou esse problema e conseguiu resolver? Eu resolvi mudando para Date ao inves de Instant. Mas gostaria de entender o motivo desse problema.
Fonte:
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
public class DateTimeMain {
public static void main(String[] args) {
LocalDateTime localDateTime = LocalDateTime.now().plusHours(2);
Instant instant = LocalDateTime.now().plusHours(2).toInstant(ZoneOffset.of("-03:00"));
System.out.println("localDateTime: "+localDateTime);
System.out.println("instant : "+instant);
}
}
Output:
localDateTime: 2024-05-03T17:52:46.299366700
instant : 2024-05-03T20:52:46.299366700Z