Une note sur la conversion entre java.util.Date et java.time.LocalDateTime.
/**
*Convertir de Date en LocalDateTime
* @return
*/
public LocalDateTime toLocalDateTime(Date date) {
Instant instant = date.toInstant();
ZonedDateTime zonedDateTime = instant.atZone(ZoneId.systemDefault());
return zonedDateTime.toLocalDateTime();
}
Si l'environnement d'exécution et les paramètres régionaux que vous souhaitez obtenir sont différents dans une application Web, etc., spécifiez les paramètres régionaux que vous souhaitez obtenir pour le ZoneId lors de la conversion en ZonedDateTime
.
// ZonedDateTime zonedDateTime = instant.atZone(ZoneId.systemDefault());
ZonedDateTime zonedDateTime = instant.atZone(ZoneId.of(ZoneId.SHORT_IDS.get("JST")));
/**
*Convertir de LocalDateTime en date
* @param localDateTime
* @return
*/
public Date toDate(LocalDateTime localDateTime) {
ZonedDateTime zonedDateTime = localDateTime.atZone(ZoneId.systemDefault());
Instant instant = zonedDateTime.toInstant();
return Date.from(instant);
}
Si l'environnement d'exécution et les paramètres régionaux que vous souhaitez acquérir sont différents dans une application Web, etc., LocalDateTime ne contient pas les informations de paramètres régionaux, vous devez donc spécifier les paramètres régionaux lors de l'acquisition de l'instance.
// LocalDateTime localDateTime = LocalDateTime.now();
LocalDateTime localDateTime = LocalDateTime.now(ZoneId.of(ZoneId.SHORT_IDS.get("JST")));