【问题标题】:Does the java date.before function take into account the timezone?java date.before 函数是否考虑时区?
【发布时间】:2011-06-10 09:13:22
【问题描述】:

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

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

【问题讨论】:

    标签: java timezone date-comparison


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2017-08-15
        • 1970-01-01
        • 1970-01-01
        • 2018-09-19
        • 1970-01-01
        • 2012-07-03
        • 1970-01-01
        • 2013-04-07
        • 1970-01-01
        相关资源
        最近更新 更多