Сравнить между 2 NSDate - PullRequest
       0

Сравнить между 2 NSDate

1 голос
/ 14 ноября 2011

У меня есть объект 2 NSDate, первый установлен на месяц вперед, а второй - на сегодня. я хочу проверить, что сегодня (после) больше, чем месяц впереди объекта.

Как я могу это сделать?

Ответы [ 4 ]

11 голосов
/ 14 ноября 2011

Вы можете использовать NSDate's 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;
}
4 голосов
/ 14 ноября 2011

Прочтите Руководство по программированию даты и времени. Здесь подробно объясняется множество концепций даты и времени (и как с ними справляется какао), которые действительно стоит прочитать.

Также,в NSDate Class Reference вы можете найти специальный раздел «Сравнение дат» для всех методов, используемых для сравнения двух дат.Поэтому вы должны использовать laterDate: или earlierDate: методы, которые полностью ответят на ваш вопрос.Вы также можете использовать метод timeIntervalSinceDate: и проверить знак возвращенного временного интервала (см. Еще раз документацию по этому вопросу)

В общем, не стесняйтесь прочитать документацию как все там уже подробно объясняется, как вы можете видеть по этим ссылкам

2 голосов
/ 14 ноября 2011
NSDate* earlierDate = [aDate earlierDate:anotherDate];

Возвращаемое значение Ранее получатель и anotherDate, определяется с помощью timeIntervalSinceDate :. Если получатель и anotherDate представляют одинаковую дату, возвращает получателя.

0 голосов
/ 14 ноября 2011

перейти по этой ссылке:

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDate_Class/Reference/Reference.html

другой мудрый конвертировать вашу дату, чтобы удвоить и сравнить ее. все связанные функции находятся по этой ссылке.

...