У меня есть объект 2 NSDate, первый установлен на месяц вперед, а второй - на сегодня. я хочу проверить, что сегодня (после) больше, чем месяц впереди объекта.
NSDate
Как я могу это сделать?
Вы можете использовать NSDate's compare метод .Пример:
compare
switch ([dateOne compare:dateTwo]) { case NSOrderedAscending: // dateOne is earlier in time than dateTwo break; case NSOrderedSame: // The dates are the same break; case NSOrderedDescending: // dateOne is later in time than dateTwo break; }
Прочтите Руководство по программированию даты и времени. Здесь подробно объясняется множество концепций даты и времени (и как с ними справляется какао), которые действительно стоит прочитать.
Также,в NSDate Class Reference вы можете найти специальный раздел «Сравнение дат» для всех методов, используемых для сравнения двух дат.Поэтому вы должны использовать laterDate: или earlierDate: методы, которые полностью ответят на ваш вопрос.Вы также можете использовать метод timeIntervalSinceDate: и проверить знак возвращенного временного интервала (см. Еще раз документацию по этому вопросу)
laterDate:
earlierDate:
timeIntervalSinceDate:
В общем, не стесняйтесь прочитать документацию как все там уже подробно объясняется, как вы можете видеть по этим ссылкам
NSDate* earlierDate = [aDate earlierDate:anotherDate];
Возвращаемое значение Ранее получатель и anotherDate, определяется с помощью timeIntervalSinceDate :. Если получатель и anotherDate представляют одинаковую дату, возвращает получателя.
перейти по этой ссылке:
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDate_Class/Reference/Reference.html
другой мудрый конвертировать вашу дату, чтобы удвоить и сравнить ее. все связанные функции находятся по этой ссылке.