gpt4 book ai didi

java - java.util.Date 是否使用 TimeZone?

转载 作者:IT老高 更新时间:2023-10-28 20:31:07 27 4
gpt4 key购买 nike

我有 2 台不同的计算机,每台都有不同的时区。

在一台计算机上打印 System.currentTimeMillis(),然后在两台计算机上打印以下命令:System.out.println(new Date(123456)); --> 123456 代表计算机 #1 中 currentTimeMillis 中的数字。

第二次打印(尽管是硬编码的)导致两台计算机上的打印不同。这是为什么呢?

最佳答案

一些迂腐的细节怎么样。

java.util.Date与时区无关。在 javadoc 中这么说。

您想要与特定时区相关的东西吗?那是 java.util.Calendar .

棘手的部分?当您打印这些东西(使用 java.text.DateFormatsubclass )时,会涉及到日历(涉及时区)。见 DateFormat.setTimeZone() .

确实看起来(尚未检查实现)像 java.util.Date.toString() 一样通过 DateFormat。因此,即使是我们(大部分)独立于时区的类也会因时区而变得困惑。

想要从我们的纯无时区 Date 对象中获取时区信息吗?有Date.toGMTString() .或者您可以创建自己的 SimpleDateFormatter 并使用 setTimeZone() 来控制自己使用哪个区域。

关于java - java.util.Date 是否使用 TimeZone?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1516213/

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