1

CFAbsoluteTimeGetCurrent()現在の時刻を構造体として取得するために使用していCFAbsoluteTimeます。

CFAbsoluteTime今日の真夜中を取得する最良の方法は何ですか?

ここに示す方法と同様の方法を使用して真夜中を取得し、結果を に変換することを検討しましたCFAbsoluteTimeが、単純なことを行うには非常に複雑に思えます。

より良い方法はありますか?

4

1 に答える 1

3

「当日の真夜中」の計算は、タイムゾーンや夏時間の移行などを考慮に入れる必要があるため、完全に簡単ではありません。私の好ましい方法は

NSCalendar *calendar = [NSCalendar currentCalendar];
NSDate *midnight;
[calendar rangeOfUnit:NSDayCalendarUnit
            startDate:&midnight
             interval:NULL
              forDate:[NSDate date]];

これで変換できます

CFAbsoluteTime cfMidnight = [midnight timeIntervalSinceReferenceDate];
于 2013-08-22T13:34:12.490 に答える