【发布时间】:2021-02-13 22:58:04
【问题描述】:
就像标题上的一样。很简单,但我不知道问题出在哪里。我正在我的个人电脑上测试这个,所以我猜这可能是因为我的时间配置?没有在实时服务器上测试它我认为它不会有所不同,它是相同的代码。
这是作为 TIMESTAMP 存储在数据库中的值:
2020-06-01 00:00:00
这是我在 Java 上检索到的值:
2020-05-31 23:00:00.0
我尝试过其他时间戳,但它检索到的每一个时间戳都比实际时间早一小时。
用于检索时间戳的代码:
Timestamp dateToRetrieve = results.getTimestamp(DATE_TO_RETRIEVE);
最简单的解决方案是只提前一小时,但我不乐意这样做。从长远来看,我认为这不会很好。
编辑:
这只发生在表格的一个特定列上。我不能在任何其他表上复制它,甚至不能在同一张表的另一列上复制它。其他所有工作都按预期工作。我从同一张表中检索两个时间戳,只有一个有这个错误,这怎么可能?我尝试更改列的顺序,按名称或编号检索它,但我仍然没有得到应有的时间戳,但有 -1 小时的偏移量。
【问题讨论】:
-
timezone,也可以是6h30,所以获取服务器的时区并与用户的时区进行补偿,所以都可以得到独立于互联网连接点的正确时间
-
我在我的个人电脑上完成所有这些工作。测试时客户端和服务器在同一时区@nbk