うるう年、[NSDate date]
は2012-03-01 HH:MM:SS +TTTT
を返します。[NSDate date]とうるう年の問題
私はよく今日、[NSDate date]
を呼び出すだけで今日の日付が取得された投稿を見てきました。問題は、うるう年には、これが正しい日付を返さないということです。今私はうるう年が実際にはカレンダーシステムの関数であることを理解しているので、NSDate
はうるう年(またはその夏時間)を認識しません。あなたが時に見て比較を行うその後
// assume today's date is 2012-02-29 10:00:00 +0000
NSDate *fileModificationDate = [NSDate date]; // 2012-03-01 10:00:00 +0000 is returned
を将来のある時点で:
はあなたが実行して、ファイルの更新日時を割り当てる言う:例えば - しかし、これはコードで大混乱を台無しにする可能性を秘めていますファイルが最後に変更されました:// assume it's the next day at 9 AM, ie 2012-03-01 09:00 +0000
NSTimeInterval timeSinceLastModification = [fileModificationDate timeIntervalSinceNow];
返さtimeSinceLasModification
は意味をなさない将来の時間を意味する、ポジティブになります!
私の質問は、実際には[NSDate date]
を使用して現在の日付を取得するのは悪い習慣ですか?私はここで何か重要なものを逃しています長いったらしい質問して申し訳ありません
...
No-repro。 'NSLog'を介して' [NSDate date] 'を印刷すると、1日中2/29が表示されます。あなたのタイムゾーンは何ですか?どのように日付を表示していますか? –