我读过的所有内容都表明时间戳记是UTC,没有偏移量或时区。但是,我99%肯定MS Sql Server JDBC正在从数据库中读取值并将其设置为我的本地时区。
更新:请不要引用可能重复的问题,询问如何使用UTC日期时间设置时间戳。我的问题是如何从数据库中读取 UTC时间戳值。
调试器显示该对象为GregorianCalender对象,其时区为丹佛。
答案 0 :(得分:1)
这似乎可以解决问题。我猜它返回LocalDateTime时不使用时区。
LocalDateTime localDT = timestamp.toLocalDateTime();
odt = localDT.atOffset(ZoneOffset.UTC);
根据@Ole V.V.的建议进行了更新。