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

发布于 2024-11-15 02:20:14 字数 135 浏览 1 评论 0原文

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

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

I have the timezone set on the server to BST (British Daylight Savings Time), and the date being passed into the function was calculated in UTC.

On the Java Oracle site, it simply refers to comparing the time as "now", but will this "now" time be the same timezone as set or will it be the one set on the server it is running on?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

著墨染雨君画夕 2024-11-22 02:20:14

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

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

There is no timezone in the java.util.Date, it's effectively the timezone of the JVM it's running in.

My advice, if you need to work with timezones, use Joda

对你再特殊 2024-11-22 02:20:14

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

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

It's implied that java.util.Date always stores time in UTC. For instance if you call System.currentTimeMillis() or create new Date(), internal time will be in UTC. but Date.toString() will give different time for different default timezones.

So if you pass UTC date into before function, you will get correct result regardless of server time zone.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文