java date.before函数是否考虑了时区?

时间:2011-06-10 09:13:23

标签: java timezone date-comparison

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

在Java Oracle站点上,它只是将时间比作“现在”,但这个“现在”时间是否与设置的时区相同,还是它在运行的服务器上设置的时间? / p>

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:1)

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

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