1

多くの日付を使用するアプリケーションに取り組んでいますが、それは時間にまったく依存していません。NSDatePicker コントロール、組み込みの日付関数などを使用できるように、それらを NSDates として内部的に保存したいと思います。

しかし、私は NSDates が日付だけでなく時刻も保存することを主張しているという事実につまずき続けています。日付初期化関数の多くは、現在の時刻または任意の時刻を追加します。時間コンポーネントを 0 に設定して、すべての日付の時間を消去するコードを作成しましたが、それでも、タイム ゾーンの問題により、一部の比較が台無しになります (たとえば、現在の日付を特定の日付と比較すると、間違った答えが返されます)。ローカル タイム ゾーンの現在の日付が GMT の日付と異なる場合)。

きっとこの問題に取り組むためのより良い方法があります...?

4

1 に答える 1

1

その答えは、Thilo が述べたように、固定のタイム ゾーンを設定することでした。

それだけでは不十分であることに注意してください。最初は GMT を選択し、時刻を 00:00:00 に固定しました。たまたま、これはばかげた動きです。実際に時刻を調整すると問題が発生する可能性があるからです。たとえば、その値を DatePicker コントロールにロードし、GMT より西のタイム ゾーンで午前 1 時頃にアプリケーションを使用するとします。おっと。

これらの問題のほとんどを回避するために、代わりに GMT選択し、時刻を 12:00:00 に固定しました。これにより、GMT の東または西の 11 のタイム ゾーンの日付が同時に維持されるはずです。

于 2012-10-16T05:41:05.383 に答える