1

NSTimeInterval既知のfutureDate(GMT/UTC である) とデバイスが現在存在する現在の時刻 (およびタイムゾーン)の間を見つけるために計算を行っています。

NSTimeInterval approachInterval = [futureDate timeIntervalSinceNow];

NSDateこれは timeZone 固有のデータを保存しないことを知っています。これは、日付をデバイスに表示する必要があるときに計算されるものです。

私の質問は、最初のテスト (私は現在 GMT+0001 にいます) から、NSTimeInterval返された値が私のローカル タイムゾーンを考慮していないように見えるということです。NSDateタイムゾーンのオフセットを手動で計算し、それを間隔から削除する必要がありますか?正しいタイムゾーンを提供できない場合(timeIntervalSinceDate:たとえばを使用して) 、それを行う最良の方法は何ですか?

4

1 に答える 1

3

NSDate単一の時点を表します。タイムゾーンはありません (必要ありません!!)。したがって、「既知の futureDate (GMT/UTC)」または「NSDate に正しいタイムゾーンを指定できない」は意味がありません。

[futureDate timeIntervalSinceNow]futureDateと現在の日付と時刻の間の時間間隔を返し、どのタイム ゾーンにも完全に依存しません。

期待した結果が得られない場合は、 の計算futureDateが間違っている可能性があります。

于 2013-07-31T14:51:05.257 に答える