java - 为什么 GMT 和 UTC 时区没有相同的规则

标签 java timezone

为什么下面一行打印错误?我认为它应该打印为真。

TimeZone.getTimeZone("UTC+5:30").hasSameRules(TimeZone.getTimeZone("GMT+5:30")

最佳答案

答案在 JavaDoc of TimeZone#getTimeZone 中:

the ID for a TimeZone, either an abbreviation such as "PST", a full name such as "America/Los_Angeles", or a custom ID such as "GMT-8:00"

Returns: the specified TimeZone, or the GMT zone if the given ID cannot be understood.

并且(来自 class documentation )

[...] The syntax of a custom time zone ID is:

  CustomID:
     GMT Sign Hours : Minutes
     GMT Sign Hours Minutes
     GMT Sign Hours

ID "UTC+5:30" 不是有效的时区 ID(根据方法/类的规范),被解释为“GMT”时区,这与“GMT+5:30”区域。

关于java - 为什么 GMT 和 UTC 时区没有相同的规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53331858/

相关文章:

java - SHIFT + ENTER 和 Java 中同一组件中的 ENTER

java - myMethod() 的多线程问题

Java时区格式问题

c# - TimeZoneInfo.FindSystemTimeZoneById() 在 Unity 应用程序中抛出异常

java - 如何向用户显示正确的时区?

javascript - 在客户端检测时区

java - 仅从 JavaFX ObservableList 中获取一些值

java - 禁用/覆盖 JTree 鼠标按下/单击处理的正确方法

java - 准备好的 SQL 语句中的命名参数。有没有真正轻量级且成熟的库?

php - UTC 问题,不知道如何解决它们(PHP/MySQL)