数据表数据时间正常,Java从数据库中取出后数据时间变为日期和数据库一致,但时间变为日期的当天早上0点0分0秒
时间: 2023-05-23 14:07:19 浏览: 127
java 获得的系统时间与操作系统的时间不一致
A:这可能是因为Java中的Date类在没有指定时区的情况下会默认使用本地时区,而数据库中的日期时间则是以UTC时间存储的。解决方法可以是使用JDBC驱动中的getTimestamp方法取出时间戳,然后使用Java 8中的LocalDateTime类将时间转换为本地时区的时间。例如:
```
ResultSet rs = stmt.executeQuery("SELECT datetime_column FROM table");
Timestamp timestamp = rs.getTimestamp("datetime_column");
LocalDateTime localDateTime = timestamp.toLocalDateTime().atZone(ZoneId.of("UTC")).withZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime();
```
阅读全文