2013-05-24 3 views
1

Я хотел был бы сравнить с NSDates, но только в отношении часа и минуты. Первая дата указана из массива, вторая - текущая. Я не пришел с этим методом:Сравнение NSDateComponents

NSDateComponents *components = [gregorian components:unitFlags 
               fromDate:date 
                toDate:currentDate options:0]; 

Любая простая и полезная идея для решения моей проблемы?

EDIT: пользователя солнечный "размещены некоторые дополнительные методы, чтобы решить мою проблему: How to compare two dates in Objective-C

+1

http://stackoverflow.com/questions/949416/how-to-compare-two-dates-in-objective-c» – Balu

ответ

4
NSCalendar *calendar = [NSCalendar currentCalendar]; 
NSDateComponents *comp1 = [calendar components: NSHourCalendarUnit | NSMinuteCalendarUnit 
fromDate: date1]; 

NSDateComponents *comp2 = [calendar components: NSHourCalendarUnit | NSMinuteCalendarUnit 
fromDate: date2]; 

Теперь у вас есть все данные, необходимые для сравнения двух дат.

comp1.hour > comp2.hour 
comp1.minute > comp2.minute 
+0

Ваш забыла *;) Но спасибо за это очень крутое обходное решение! – Niklas

+1

Ты прав :). Я исправил ответ. –

1

Попробуйте

NSDateComponents *components = [[NSCalendar currentCalendar]components:NSHourCalendarUnit|NSMinuteCalendarUnit 
                   fromDate:date 
                   toDate:currentDate 
                   options:0]; 

if (components.hour==0&&components.minute==0) { 
    NSLog(@"Equal time"); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^