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