的Android缺少一些时区,在Java中
问题描述:
可在的Android的Android缺少一些时区,在Java中
Timezone.getAvailableIds();
只返回580个ID。
在的Java(均为同一版本1.7)
Timezone.getAvailableIds()
回报623个IDS。
一些失踪的ID是
IST
PST
ECT
JST
任何帮助?
答
为了与JDK 1.1.x的兼容性,一些其他三个字母的时区 的ID(例如, “PST”, “CTT”, “AST”)也支持。
请注意单词“some”,这意味着在Android中不支持所有三字母时区ID。这就是为什么您只能获得580个ID而不是623.支持的时区ID取决于您使用的SDK版本。
另外,还要注意表达的这种方式已经过时:
但是,建议使用它们,因为相同的缩写经常用于多个时区(例如 ,“CST”可以是美国 “*标准时间”和“中国标准时间”),然后Java平台才能识别其中的一个。
参考:https://developer.android.com/reference/java/util/TimeZone.html
我希望这回答了你的问题。
+0
谢谢你的回答!将检查自定义ID。 –
你对“这个帮助”有什么意思?它是如何引起问题的,你如何使用这个时区? –
是的..我使用TimeZone.getTimeZone(userTZ);获取时区并格式化时间。如果userTZ是任何缺失的ID,则默认情况下它会返回GMT。它会导致时间问题,我会显示时间。 –
这些简称(IST,PST和其他)是[含糊而不是标准](https://*.com/a/18407231/7605325),并且由于逆向兼容性的原因而支持其中一些名称。例如IST可以是印度标准时间,爱尔兰标准时间或以色列标准时间。只允许[IANA时区名称](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)(总是采用“亚洲/加尔各答”或“欧洲/柏林”的“地区/城市”格式) – 2017-10-17 10:48:57