标签: android timezone
我正在使用Android TimeZone功能,我的应用正在与希望来自印度设备的亚洲/加尔各答的服务器进行通信。然而,在获得TimeZone.getDefault().getDisplayName()时,我得到亚洲/加尔各答而不是加尔各答。知道在TimeZone.getAvailableIDs()中打印值时,它会显示加尔各答和加尔各答。有什么想法吗?
TimeZone.getDefault().getDisplayName()
TimeZone.getAvailableIDs()
答案 0 :(得分:4)
两者都应该有效。该区域曾被称为Asia/Calcutta并重命名为Asia/Kolkata,但tzdb中仍有一个别名将旧名称指向新名称。 See here
Asia/Calcutta
Asia/Kolkata
如果服务器不允许新名称,那么他们需要从here更新他们的tz文件,或者他们可能正在使用的任何实现。
如果你不能这样做,你总是可以抓住这种情况并自己更换字符串。它们是等同的区域。