gpt4 book ai didi

java - 为什么 UTC(不是时区)被视为 Java 中的时区(不仅如此)?

转载 作者:可可西里 更新时间:2023-11-01 12:44:47 24 4
gpt4 key购买 nike

鉴于 UTC 不是时区,而是时间标准(如前所述,here),为什么在我的 Java 应用程序中我可以像使用时区一样使用 UTC(参见下面的代码片段)?

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
format.setTimeZone(TimeZone.getTimeZone("UTC"));

如果 UTC 不是时区,为什么 TimeZone.getTimeZone("UTC") 能够返回时区对象?


顺便说一句,在我的 Windows 机器上,UTC 也在时区列表中(见屏幕截图)。

现实中“UTC不是时区”的说法是错误的吗?

UTC is a time zone in Windows

最佳答案

因为基本上,将 UTC 视为时区比将其视为其他时区要简单得多。

这是“是的,严格来说它不是”场景之一。对于除了“这是在世界哪个地区观察到的?”之外的所有内容您可以将 UTC 视为一个时区,它工作正常。因此,将其稍微弯曲变形比拥有一个完整的独立概念更简单。

如果您将时区视为从“即时时间”到“UTC 偏移量”(或等价物,从“即时时间”到“本地观察时间”)的映射,那么可以将 UTC 视为一个时间区域 - 这就是我们在软件中所做的大部分工作。

如果您将时区与该映射一起视为地理区域,那么不,它也不起作用——但这在软件中很少有用。 (你总是可以通过说它是一个空区域来伪造它:)

关于java - 为什么 UTC(不是时区)被视为 Java 中的时区(不仅如此)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44756430/

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