0

我将服务器上的时区设置为 BST(英国夏令时),并且传递给函数的日期以 UTC 计算。

在 Java Oracle 站点上,它只是将时间与“现在”进行比较,但是这个“现在”时间是否与设置的时区相同,或者它是运行它的服务器上设置的时间?

4

2 回答 2

4

中没有时区java.util.Date,它实际上是运行它的 JVM 的时区。

我的建议,如果您需要使用时区,请使用Joda

于 2011-06-10T09:20:50.333 回答
1

暗示java.util.Date始终以 UTC 存储时间。例如,如果您调用System.currentTimeMillis()或创建new Date(),内部时间将采用 UTC。但Date.toString()会为不同的默认时区提供不同的时间。

因此,如果您将 UTC 日期传递给before函数,无论服务器时区如何,您都将获得正确的结果。

于 2011-06-10T09:51:30.360 回答