java- 从 ID 获取时区

标签 java timezone timezone-offset

为了获取新加坡的时区偏移量,如果我尝试将“新加坡”作为 ID,我将得到正确的 ID,如下所示:

TimeZone timeZone = TimeZone.getTimeZone("Singapore");
    int offset = timeZone.getRawOffset();//It prints 28800000 which is correct

但是如果像下面这样尝试用 SGT 代替新加坡,它将返回 GMT 的偏移量,因为它不理解 SGT 作为 id:

TimeZone timeZone = TimeZone.getTimeZone("SGT");
    int offset = timeZone.getRawOffset();//It prints 0 which is incorrect and should be 28800000 

有什么方法可以通过使用“SGT”代替“新加坡”来获得新加坡的正确偏移量????

上述问题不是为 ID“America/Los_Angeles”生成的。 “PST”和“America/Los_Angeles”返回相同的偏移量。

问候

已编辑--

如果我有像“2015-02-08 11:18 AM SGT”这样的日期,那么 ??????

我仍然无法使用上述日期获得“新加坡”的偏移量吗?

尝试了解如何实现。

最佳答案

如文档中所述,似乎并非所有三字母 ID 都受支持:

For compatibility with JDK 1.1.x, some other three-letter time zone IDs (such as "PST", "CTT", "AST") are also supported. However, their use is deprecated [...]

关于java- 从 ID 获取时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28385882/

相关文章:

node.js - Mongoose 使用 UTC 时间保存和检索日期,更改服务器时区

swift - Swift 中的绝对 UTC 偏移量

Azure 数据资源管理器中的时区感知查询

java - java中的对象、实例、引用

java - 设置特定的固定范围 JFreechart

mysql - PHP/MySQL 时区迁移

c++ - 目前在 Ubuntu C/C++ 中如何将 IANA 时区名称转换为 UTC 偏移量

java - 完全动态创建 JPA 标准

java - 为什么 PostConstruct 方法在 springboot 中使用时不能保持 bean init 顺序?

php - php 中的 js getTimezoneOffset()