从NSDate获取上午UTC午夜的时间间隔

时间:2017-05-16 17:11:20

标签: ios objective-c cocoa-touch nsdate nstimeinterval

我需要比较两次,但一次是当前NSDate,另一次是NSTimeInterval。当自上次UTC午夜以来的当前时间间隔大于超过给定时间间隔时,我需要触发一个动作。我很满意

NSDate *rightNowUTC = [[NSDate alloc] init];

获取当前的UTC NSDate,但我需要将其删除到"任何*现在和UTC的最后一次午夜之间的时间间隔"。

1 个答案:

答案 0 :(得分:2)

NSCalendar提供了一种获取特定日期的当天(午夜)开始的方法:

NSDate *rightNowUTC = [[NSDate alloc] init];
NSDate *midnight = [NSCalendar.currentCalendar startOfDayForDate: rightNowUTC];
NSTimeInterval interval = [rightNowUTC timeIntervalSinceDate: midnight];