【发布时间】:2011-02-17 22:18:33
【问题描述】:
我编写了一个 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 调用来返回三个字母(我认为是“更现代”)的短时区名称?
随着我的代码在越来越多的位置运行,我猜这个问题也会在其他地方发生。
我真的希望避免维护某种由三个字母到四个字母的短时区名称的映射。
【问题讨论】:
标签: java android internationalization timezone