Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取与Android设置应用程序中类似的时区列表_Java_Android_Timezone - Fatal编程技术网

Java 获取与Android设置应用程序中类似的时区列表

Java 获取与Android设置应用程序中类似的时区列表,java,android,timezone,Java,Android,Timezone,我试过使用DateTimeZone.getAvailableIDs(),但我得到了500多个时区ID和时区名称,但我想在我的列表中显示时区和名称,其可读性应与我的设备(牛轧糖版本)在设置中的显示相同。 我的设备在设置列表中只显示88个时区,我希望和我的应用程序中的一样 getAvailableIDs()给出了诸如Etc/GMT-5、Etc/GMT-6等名称。这些名称会让用户感到困惑 设置中显示的时区可能取决于每个设备和制造商。它只是一个用Android ROM编译的XML,你不能从普通的应用程

我试过使用
DateTimeZone.getAvailableIDs()
,但我得到了500多个时区ID和时区名称,但我想在我的列表中显示时区和名称,其可读性应与我的设备(牛轧糖版本)在设置中的显示相同。 我的设备在设置列表中只显示88个时区,我希望和我的应用程序中的一样

getAvailableIDs()
给出了诸如Etc/GMT-5、Etc/GMT-6等名称。这些名称会让用户感到困惑


设置中显示的时区可能取决于每个设备和制造商。它只是一个用Android ROM编译的XML,你不能从普通的应用程序访问它(设置使用一个与AOSP集成的名为SettingsLib的库,但除非你用Android ROM编译你的应用程序,否则你将无法访问这个库)

这看起来很令人失望,但是,这个文件在Android版本中没有太大变化,您可以将它包含在项目中(在
res/xml/timezones.xml
),每个设备都有相同的列表

这是的文件,这是的(安卓10只比安卓7多了一个城市)


您可以看到Android如何使用此XML文件获取时区(name+gmt)。

您希望在列表中显示哪些时区?您遇到了什么困难?它应该列出所有国家的时区。(1)“DateTimeZone.getAvailableIDs()”提供500多个时区ID,但我希望国家的时区名称列表应该在88左右,不要太多。(2)它列出了一些类似于“ETC/GMT-9”的区域,这些区域不可理解,会让用户感到困惑。很抱歉让您失望。许多国家都有几个时区。看。大约375个时区ID被标记为规范。其中25个在
Etc/
域中,如果将它们取出,仍然会留下大约350个。与500相比没有大的改进。谢谢@OleV.V,但我正在寻找android设备(牛轧糖版本)上显示的时区列表,我只计算为88。我想知道有没有办法只获得android上显示的那些时区列表(如第一个屏幕截图),谢谢Abdelilah El Aissaoui