1

关于显示日期,我有一个非常奇怪的问题。特别是在Windows中。我不知道为什么,当我从查询(休眠)中得到一个日期时,它给了我一天的时间。当数据到达服务器时,日期很好,但是当它到达客户端时,它会减少一天。例如:在服务器中,日期是Fri Sep 24 00:00:00 1982但到达客户端时是 Thu Sep 23 23:00:00 1982。正如你所看到的,它是一个不同的日子。

啊,我几乎忘记提到它发生在 Windows(七)上,因为它的 TimeZone 是它的 UTC 而不是 GMT。我和我的同事使用 Linux 并没有问题。

有什么解决方法吗?

提前致谢!

4

2 回答 2

4

它不会提前一天给你一个价值。它会提前一个小时为您提供价值(9 月 24 日午夜对 9 月 23 日晚上 11 点)。

这几乎可以肯定是时区问题,几乎可以肯定这只是您如何格式化日期的反映。如果您使用SimpleDateFormatter,只需设置TimeZone适当的(您的实际要求将确定是哪个区域),您应该会得到相同的结果。

顺便说一句,一般来说,当涉及到 Java 中的日期/时间工作时,我建议尽可能使用Joda TimeDate - 它是一个比and更干净的 API Calendar

于 2012-09-04T20:24:53.533 回答
2
于 2020-02-08T07:23:57.047 回答