CoreDataのNSDATEはタイムゾーンをカプセル化しますか?
-
12-10-2019 - |
質問
私はCoredataストアに日付と時刻を保持しており、元々入力した時間をユーザーに正確に提示する必要があります。問題は、彼らが東海岸で4:00に入った場合、その後、西海岸で記録された時間を見て、iPhoneが普遍的な時代を現地の時代に翻訳するので、それは1:00として見えることです。 4:00を表示する必要があります - おそらく4:00(+3H00)。
コアデータモデルを再構築する前に、保存されたNSDateオブジェクトから作成時にアクティブなnSTimezoneを導き出す方法がないことを確認したいと思います。ある?そうでない場合は、自分で作成時にnStimezoneをキャプチャする最善の方法を推奨していますか? GMTからの作成時間nStimezone時間差を表すNSNumber?
ありがとう。
解決
発見したように、NSDateは普遍的な時点を表し、特定のタイムゾーン情報は含まれていません。
オフセットを保存する代わりに、nstimezoneの保管をお勧めします name
財産。その後、使用できます +[NSTimeZone timeZoneWithName:]
タイムゾーンを取得し、それを現地時間に変換します。これにより、情報をユーザーに表示する方法に最大限の柔軟性が得られます。
所属していません StackOverflow