параўнанне NSDateComponents

Я хацеў бы параўнаць NSDates, але толькі ў дачыненні да гадзіны і хвіліны. Першая дата задаецца з масіва, а другі з'яўляецца бягучых. Я не прыйшоў з дапамогай гэтага метаду:

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

Любая простая і добрая ідэя, каб вырашыць маю праблему?

EDIT: User 'sunny' posted some further methods to solve my problem: How to compare two dates in Objective-C

1
дададзена аўтар Balu, крыніца

6 адказы

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
4
дададзена
Ваш забыўся *;) Але дзякуй за гэтай вельмі крутая абыходны шлях!
дададзена аўтар Niklas, крыніца
Ты маеш рацыю :). Я выправіў адказ.
дададзена аўтар Marcin Kuptel, крыніца
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
4
дададзена
Ваш забыўся *;) Але дзякуй за гэтай вельмі крутая абыходны шлях!
дададзена аўтар Niklas, крыніца
Ты маеш рацыю :). Я выправіў адказ.
дададзена аўтар Marcin Kuptel, крыніца
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
4
дададзена
Ваш забыўся *;) Але дзякуй за гэтай вельмі крутая абыходны шлях!
дададзена аўтар Niklas, крыніца
Ты маеш рацыю :). Я выправіў адказ.
дададзена аўтар Marcin Kuptel, крыніца
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
4
дададзена
Ваш забыўся *;) Але дзякуй за гэтай вельмі крутая абыходны шлях!
дададзена аўтар Niklas, крыніца
Ты маеш рацыю :). Я выправіў адказ.
дададзена аўтар Marcin Kuptel, крыніца

спрабаваць

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

if (components.hour==0&&components.minute==0) {
    NSLog(@"Equal time");
}
1
дададзена

спрабаваць

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

if (components.hour==0&&components.minute==0) {
    NSLog(@"Equal time");
}
1
дададзена