LocalDate a été ajouté à Java8, ce qui est très pratique. Cependant, java.sql.Date est utilisé lors de l'utilisation de JDBC et java.util.Date est utilisé lors de l'utilisation de POI, mais l'interopérabilité n'est pas prise en compte dans LocalDate. Ainsi, pour les trois qui sont souvent utilisés dans les affaires, ZonedDateTime a également résumé les méthodes de conversion afin que l'interopérabilité soit facile.
sqlDate, utilDate et LocalDate.java
public LocalDate convertToLocalDate(java.sql.Date sqlDate){
return sqlDate.toLocalDate();
}
sqlDate, utilDate et LocalDate.java
public java.util.Date convertToUtilDate(java.sql.Date sqlDate){
return sqlDate;
}
sqlDate, utilDate et LocalDate.java
public LocalDate convertToLocalDate(java.util.Date utilDate){
return utilDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
}
sqlDate, utilDate et LocalDate.java
public java.sql.Date convertToSqlDate(java.util.Date utilDate){
return new java.sql.Date(utilDate.getTime());
}
sqlDate, utilDate et LocalDate.java
public java.util.Date convertToUtilDate(LocalDate localDate){
return java.util.Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
}
sqlDate, utilDate et LocalDate.java
public java.sql.Date convertToSqlDate(LocalDate localDate){
return java.sql.Date.valueOf(localDate);
}
sqlDate, utilDate et LocalDate.java
public ZonedDateTime convertToZonedDateTime(java.util.Date utilDate){
return utilDate.toInstant().atZone(ZoneId.systemDefault());
}
sqlDate, utilDate et LocalDate.java
public ZonedDateTime convertToZonedDateTime(java.sql.Date sqlDate){
return sqlDate.toLocalDate().atStartOfDay(ZoneId.systemDefault());
}
sqlDate, utilDate et LocalDate.java
public ZonedDateTime convertToZonedDateTime(LocalDate localDate){
return localDate.atStartOfDay(ZoneId.systemDefault());
}
sqlDate, utilDate et LocalDate.java
public java.util.Date convertToUtilDate(ZonedDateTime zonedDateTime){
return java.util.Date.from(zonedDateTime.toInstant());
}
sqlDate, utilDate et LocalDate.java
public java.sql.Date convertToSqlDate(ZonedDateTime zonedDateTime){
return java.sql.Date.valueOf(zonedDateTime.toLocalDate());
}
sqlDate, utilDate et LocalDate.java
public LocalDate convertToLocalDate(ZonedDateTime zonedDateTime){
return zonedDateTime.toLocalDate();
}
La méthode de conversion de java.util.Date, java.sql.Date, LocalDate, ZonedDateTime est résumée. La source, y compris les tests, peut être trouvée ici [https://github.com/xaatw0/quiita/blob/master/src/sqlDate, utilDate et LocalDate.java).
Recommended Posts