我正在开发闹钟。 我想比较现在的时间和setTime。是否可以在几分钟内进行比较。
我的问题是NSDate将在几秒内进行比较,例如9:38:50不等于9:38:00。 我怎样才能在几分钟内进行比较?
答案 0 :(得分:5)
首先,将它们转换为UNIX时间戳,忽略毫秒。
NSUInteger time1 = (NSUInteger)[date1 timeIntervalSince1970];
NSUInteger time2 = (NSUInteger)[date2 timeIntervalSince1970];
忽略秒。
time1 = time1 - (time1 % 60);
time2 = time2 - (time2 % 60);
现在,您可以安全地比较它们。
if (time1 == time2) {
NSLog(@"Bingo");
}
答案 1 :(得分:2)
使用NSCalendar获取您感兴趣的NSDateComponents。然后可以轻松比较这些内容。
虽然检查当前日期是否晚于警报日期可能就足够了。如果是,并且警报没有停止,即使计算机暂时失去电源或其他东西,您也应该离开。