NSDate型に、時間が同じかどうかを判定するメソッドがある。
(BOOL)isEqualToDate:(NSDate *)anotherDate
しかし、当然のことながら、1秒でも数値が異なると、日付判定が異なってしまう。なので、NSString型で比較。
NSDateFormatter *fmt = [[NSDateFormatter alloc]init]; [fmt setDateFormat:@"yyyy/MM/dd"]; NSString *currentDate = [fmt stringFromDate:[NSDate date]]; NSString *tommorowDate = [fmt stringFromDate:[NSDate dateWithTimeIntervalSinceNow:60*60*8]]; NSLog(@"現在:%@", currentDate); NSLog(@"明日:%@", tommorowDate); if ([currentDate isEqualToString: tommorowDate]) { NSLog(@"同日です。"); }else{ NSLog(@"同日ではありません。"); }
ちなみに、NSString型同士で、== で比較すると falseとなります。
if (currentDate == tommorowDate) { NSLog(@"同日です。%@", result); }else{ NSLog(@"同日ではありません。%@", result); }