Как сравнить две даты в iphone? - PullRequest
0 голосов
/ 25 марта 2011

Я хочу сравнить сегодняшнюю дату и другую дату из моей базы данных. Например, 2011-03-25 сравните его с 2011-02-25

Как я могу сформировать дату моей базы данных, поскольку NSDateFormatter требует тип данных NSDdate?

Ответы [ 6 ]

3 голосов
/ 25 марта 2011

Какао имеет несколько методов для этого:

в NSDate

- isEqualToDate:
- earlyDate:
- LaterDate:
-Сравните:

Когда вы используете - (NSComparisonResult), сравните: (NSDate *) anotherDate, вы получите одно из следующих значений:

The receiver and anotherDate are exactly equal to each other, NSOrderedSame
The receiver is later in time than anotherDate, NSOrderedDescending
The receiver is earlier in time than anotherDate, NSOrderedAscending.

, чтобы прочитать подробнее SO post

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

http://arstechnica.com/apple/guides/2010/03/how-to-real-world-dates-with-the-iphone-sdk.ars/2

1 голос
/ 25 марта 2011
NSDate *date1 = [NSDate date];
NSDate *date2 = [NSDate date];

if ([date1 compare: date2]==NSOrderedAscending) {
    NSLog(@"YES");
}
0 голосов
/ 25 ноября 2014

In Swift :

let date1 = NSDate() //some date
let date2 = NSDate() //another date

let firstDate = date1.earlierDate(date2)
let lastDate = date1.laterDate(date2)
0 голосов
/ 25 марта 2011

Вы можете использовать сравнение NSDate: или timeIntervalSinceReferenceDate - это поможет вам начать

0 голосов
/ 25 марта 2011

Если ваша дата является строкой типа год-месяц-день, вы можете просто сравнить строку:

 if ([date1 compare:string2]==NSOrderedAscending) {
 } else if ([date1 compare:string2]== NSOrderedDescending) {
 } else {
 }

Это будет работать, потому что поля в дате от самых важных к меньшим, как сравнение строк.

0 голосов
/ 25 марта 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...