我正在使用安卓TimeZone功能,我的应用程序正在与一个服务器进行通信,该服务器希望从印度的设备上获得亚洲/加尔各答。然而,当我得到TimeZone.getDefault().getDisplayName()时,我得到的是亚洲/加尔各答,而不是加尔各答。知道在打印TimeZone.getAvailableIDs()中的值时,它会同时显示加尔各答和加尔各答。有什么想法吗?
发布于 2013-05-17 10:45:03
两者都应该是有效的。该区域过去称为Asia/Calcutta,并被重命名为Asia/Kolkata,但在tzdb中仍有一个别名将旧名称指向新名称。See here。
如果服务器不允许使用新名称,那么他们需要从here或他们可能正在使用的任何实现中更新他们的tz文件。
如果您不能做到这一点,您可以随时捕捉这种情况,并自行替换字符串。它们是等价的区域。
https://stackoverflow.com/questions/16590376
复制相似问题