Как определить, прошел ли NSDate (включая время)? Мне нужно в принципе сравнить сегодняшнюю дату с датой в db, но я в тупике.
Как определить, прошел ли NSDate (включая время)
Ответ 1
Попробуйте следующее:
if ([someDate timeIntervalSinceNow] < 0.0) {
// Date has passed
}
Ответ 2
вам нужно использовать сравнение NSDate, многие ответы здесь помогут вам.
Логикануждается в настройке, но это должно привести вас в правильном направлении:
- (BOOL)date:(NSDate*)date isBefore:(BOOL)before otherDate:(NSDate*)otherDate ;
{
if(before && ([date compare:otherDate] == NSOrderedAscending))
return YES;
if (!before && ([date compare:otherDate] == NSOrderedDescending))
return YES;
}
использование:
if([self date:yourDate isBefore:YES otherDate:[NSDate date]])
Ответ 3
Вы можете использовать
[NSDate date];
чтобы получить объект NSDate, представляющий текущее время и дату.
Затем сравните это с датой, которую вы анализируете, например:
if ([currentDate timeIntervalSince1970] > [yourDate timeIntervalSince1970]) {
// yourDate is in the past
}
вы можете использовать это, чтобы сравнить любые две даты. Надеюсь, это поможет.