如何在所有Android设备中获得唯一的TimeZone显示名称?

时间:2015-03-30 16:09:01

标签: android calendar timezone mobile-devices

我使用下面的代码来获取android移动时区显示名称。

String mobileTimeZone = Calendar.getInstance().getTimeZone()
        .getDisplayName(false, TimeZone.SHORT);

但是在两个不同的设备中运行相同的代码会返回两个不同的值,如下所示,

  

在Sony xperia Z1中,它返回 IST

     

在三星Galaxy S3中,它返回 GMT + 05.30

如何在所有设备中获取IST或ET等唯一值。

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

我在华为手机上看到相同的GMT + 5:30(android 4.4.2)。

请注意,不推荐使用两个或三个字符的时区标识符。这是因为它们实际上并不是唯一的。相同的值实际上可以表示不同的时区(例如,CST可以表示中央标准时间以及中国标准时间 - 有关更多信息,请参阅时区的javadoc)。

如果需要时区的唯一标识符,请在Timezone类上使用getID()方法。这将返回“亚洲/加尔各答”之类的值。可以使用相同的值来使用TimeZone.getTimeZone(“Asia / Kolkata”)构造TimeZone。