Android Timezone.getDefault()提供亚洲/加尔各答,而不是亚洲/加尔各答

时间:2013-05-16 14:36:56

标签: android timezone

我正在使用Android TimeZone功能,我的应用正在与希望来自印度设备的亚洲/加尔各答的服务器进行通信。然而,在获得TimeZone.getDefault().getDisplayName()时,我得到亚洲/加尔各答而不是加尔各答。知道在TimeZone.getAvailableIDs()中打印值时,它会显示加尔各答和加尔各答。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

两者都应该有效。该区域曾被称为Asia/Calcutta并重命名为Asia/Kolkata,但tzdb中仍有一个别名将旧名称指向新名称。 See here

如果服务器不允许新名称,那么他们需要从here更新他们的tz文件,或者他们可能正在使用的任何实现。

如果你不能这样做,你总是可以抓住这种情况并自己更换字符串。它们是等同的区域。