在Android中获取GMT时间,始终使用欧洲字母



我当前遇到以下问题:我正在运行这个命令

TimeZone.getDefault();

而我的手机(Android 7.0的Galaxy S6(被配置为使用阿拉伯语(准确地说是العربية(的系统语言。这个调用的输出是:GMT+٠٢:٠٠,而不是我所期望的GMT+02:00

我注意到这个问题只发生在三星设备上(至少从我在日志中看到的错误来看(。

有没有办法确保我得到的时区是GMT+02:00格式,而不管手机的区域设置如何?

我找到的解决方案:

final static String am = "GMT-%02d:%02d";
final static String pm = "GMT+%02d:%02d";
final String timezone = String.format(Locale.ENGLISH, offset < 0 ? am : pm, hours, minutes);

最新更新