我写了一个Android应用程序,需要手机当前所在的短时区名称。获取三个字母的短时区名称(而不是四个字母)?
我用下面的代码:
String timeZone = Calendar.getInstance().getTimeZone().getDisplayName(false, TimeZone.SHORT);
当在芝加哥运行,这将返回 “CST”。在纽约,“EST”。在Strasbourg, France中,它返回“HNEC”(Heure Normale de l'Europe Centrale in French)。
这个位置的时区被一些人称为“中欧时间”(见维基百科的Time zones of Europe)。
我通过timeZone
关闭第三方系统,非常坚持获得“CET”(而不是“HNEC”)。是否有可以依赖的API调用返回三个字母(以及我认为的“更现代”)的短时区名称?
由于我的代码在越来越多的位置运行,我猜这个问题也会发生在其他地方。
我真的希望避免维护某种三字母到四字母短时区名称的地图。
如何在android中获取移动时区的缩写?有什么解决办法吗? – 2015-03-31 06:39:26
请检查我的答案。 – 2017-04-02 18:42:41