gpt4 book ai didi

不同时区的 Java Date

转载 作者:行者123 更新时间:2023-11-30 06:27:32 26 4
gpt4 key购买 nike

我有一个 long 值“value”,其中我以毫秒为单位保存时间,如果我将系统时区从 UTC +2:00 更改为 UTC +13:00 new Date(value) 返回不同的结果!

即使我的时区不同,谁能告诉我为什么以及如何让它为给定值返回相同的日期?

最佳答案

不,Date 返回不同的结果。 Date 只是以毫秒为单位的时间包装器,仅此而已。它并不真正理解时区、时间等。

但是! Date.toString() 使用带有您当前时区的公历打印日期。但即使时区不同,它仍然代表相同的时间点

假设我有这个简单的程序:

new Date(1352296028515L).toString()

通常它会打印(我住在 CET 时区):

Wed Nov 07 14:47:08 CET 2012

但我可以覆盖时区 (-Duser.timezone=EST) 或在纽约运行该程序以获得例如:

Wed Nov 07 08:47:08 EST 2012

但是!请注意,这两个日期实际上代表同一时间,13:47 UTC。

简单地说:冷静下来,一切都很好,这只是远离 java.util.Date 的另一个原因。

关于不同时区的 Java Date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13271007/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com