如果我想使用compare方法比较两天:
[day1 compare:day2] == NSOrderedAscending
如何仅按年 - 月 - 日进行比较?
答案 0 :(得分:4)
一天有86400秒,所以如果您获得两个日期的参考日期后的秒数,您可以将它们除以86400并比较这两个数字。
这将为您(在days1
和days2
中)提供自1970年1月1日 st 以来经过的日期的天数。然后您可以比较它们
int days1 = [date1 timeIntervalSince1970] / 86400;
int days2 = [date2 timeIntervalSince1970] / 86400;
答案 1 :(得分:0)
理想情况下,你想写一些类似的东西:
if ([date1 isSameDayAs:date2]) {...}
你可以在NSDate上使用一个简单的类别实现这一点,声音如下:
@implementation NSDate (Extensions)
- (BOOL) isSameDayAs:(NSDate *)date2
{
int days1 = [self timeIntervalSince1970] / 86400;
int days2 = [date2 timeIntervalSince1970] / 86400;
return (days1 == days2);
}
@end