質問

私はCoredataストアに日付と時刻を保持しており、元々入力した時間をユーザーに正確に提示する必要があります。問題は、彼らが東海岸で4:00に入った場合、その後、西海岸で記録された時間を見て、iPhoneが普遍的な時代を現地の時代に翻訳するので、それは1:00として見えることです。 4:00を表示する必要があります - おそらく4:00(+3H00)。

コアデータモデルを再構築する前に、保存されたNSDateオブジェクトから作成時にアクティブなnSTimezoneを導き出す方法がないことを確認したいと思います。ある?そうでない場合は、自分で作成時にnStimezoneをキャプチャする最善の方法を推奨していますか? GMTからの作成時間nStimezone時間差を表すNSNumber?

ありがとう。

役に立ちましたか?

解決

発見したように、NSDateは普遍的な時点を表し、特定のタイムゾーン情報は含まれていません。

オフセットを保存する代わりに、nstimezoneの保管をお勧めします name 財産。その後、使用できます +[NSTimeZone timeZoneWithName:] タイムゾーンを取得し、それを現地時間に変換します。これにより、情報をユーザーに表示する方法に最大限の柔軟性が得られます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top