1

私は Android TimeZone 機能を使用しており、私のアプリはインドのデバイスからアジア/コルカタを期待するサーバーと通信しています。ただし、 を取得するTimeZone.getDefault().getDisplayName()と、コルカタではなく Asia/Calcutta が取得されます。で値を出力するTimeZone.getAvailableIDs()と、カルカッタとコルカタの両方が表示されることがわかります。何か案は?

4

1 に答える 1

5

どちらも有効である必要があります。ゾーンは以前は と呼ばれAsia/Calcutta、名前が に変更されましAsia/Kolkataたが、古い名前から新しい名前を指すエイリアスが tzdb に残っています。 ここ を参照してください

サーバーが新しい名前を許可しない場合は、ここから、または使用している実装で tz ファイルを更新する必要があります。

それができない場合は、いつでもこのケースをキャッチして、文字列を自分で置き換えることができます。それらは同等のゾーンです。

于 2013-05-17T02:45:02.853 に答える