Если я хочу использовать метод сравнения для сравнения двух дней:Сравнить NSDate объекты только через год месяц день
[day1 compare:day2] == NSOrderedAscending
Как сравнить только год-месяц-день?
Если я хочу использовать метод сравнения для сравнения двух дней:Сравнить NSDate объекты только через год месяц день
[day1 compare:day2] == NSOrderedAscending
Как сравнить только год-месяц-день?
Есть 86400 секунд в день, поэтому, если вы получите количество секунд с датой отсчета для обеих дат, вы можете разделить их на 86400 и сравнить два числа.
Это даст вам (в days1
и days2
) количество дней для даты, прошедших с 1 января го, 1970. Вы можете сравнить их.
int days1 = [date1 timeIntervalSince1970]/86400;
int days2 = [date2 timeIntervalSince1970]/86400;
В идеале, вы хотели бы написать что-то вроде:
if ([date1 isSameDayAs:date2]) {...}
Вы можете добиться этого с помощью простой категории на NSDate, sonething как:
@implementation NSDate (Extensions)
- (BOOL) isSameDayAs:(NSDate *)date2
{
int days1 = [self timeIntervalSince1970]/86400;
int days2 = [date2 timeIntervalSince1970]/86400;
return (days1 == days2);
}
@end
Вы имеете в виду, за исключением времени ? – zneak