获得今天午夜的CFAbsoluteTime的最佳方法是什么?

时间:2013-08-22 13:01:53

标签: objective-c time core-foundation

我使用CFAbsoluteTimeGetCurrent()获取当前时间,作为CFAbsoluteTime结构。

获取今天午夜CFAbsoluteTime的最佳方式是什么?

Ive considered getting midnight using a similar method to the one shown here然后将结果转换为CFAbsoluteTime,但做一件简单的事情看起来非常复杂。

有更好的方法吗?

1 个答案:

答案 0 :(得分:3)

计算“当天午夜”并非完全无足轻重,因为事情如此 必须考虑时区和夏令时转换。 我的首选方式是

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

然后您可以使用

进行转换
CFAbsoluteTime cfMidnight = [midnight timeIntervalSinceReferenceDate];