【发布时间】:2018-04-17 12:03:41
【问题描述】:
我有以下代码。我在 mySQL 数据库中存储了一个 UTC 时间,并希望在我从数据库中提取它时将其转换为本地时间。
Instant startInstant = rs.getTimestamp(5).toInstant();
Instant endInstant = rs.getTimestamp(6).toInstant();
ZoneId z = ZoneId.of(TimeZone.getDefault().getID());
ZonedDateTime start = startInstant.atZone(z);
ZonedDateTime end = startInstant.atZone(z);
System.out.println(start.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss VV")));
System.out.println(end.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss VV")));
这是我得到的输出:
2017-11-01 01:40:00 America/Chicago
2017-11-01 01:40:00 America/Chicago
日期和时间和我的数据库一样:这是表中的字段值:
2017-11-01 01:40:00
似乎唯一更新的只是美国/芝加哥的 zoneID,它在功能上对我需要的东西毫无用处。
任何关于我哪里出错的指针?
【问题讨论】: