【Objective-C】데이터베이스에 보존한 일자와 오늘의 일자를 비교한다【XCode】
3471 단어 XcodeObjective-CNSDate
날짜만 비교하고 싶은데 시간이 방해로 잘 안 돼…
그런 상황에 빠졌기 때문에 해결한 방법을 적어 둡니다.
몇 가지 방법이 있다고 생각하지만, 취득한 데이터의 시간은 비교하지 않게 하는 것으로 대처했습니다.
구현
NSDateFormatter *dateFormatter = [NSDateFormatter new];
//GMTとの差を加えない
[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
//表示させる形式を指定
[dateFormatter setDateFormat:@"yyyy年MM月dd日"];
//dateFormatterを使い今日の日付を一度文字列にしてからNSDate型にする
NSDate *today = [dateFormatter dateFromString:[dateFormatter stringFromDate:[NSDate date]]];
//データベースにTEXTで保存しておいたdbSampleDateをdateFormatterを使いNSDate型にする
NSDate *formatSampleDate =[dateFormatter dateFromString:dbSampleDate];
//todayとformatSampleDateを比較する
NSComparisonResult result = [today compare : formatSampleDate];
NSLog(@"今日:%@ と 期限日:%@ と 元データ:%@" , today , formatSampleDate , dbSampleDate);
NSLog(@"比較結果:%ld" , (long)result);
-1 = NSOrderedAscending
0 = NSOrderedSame
1 = NSOrderedDescending
그 후에는
result
참고
날짜를 NSComparisonResult로 비교할 때 NSDate에서 시간 부분을 제거합니다.
Reference
이 문제에 관하여(【Objective-C】데이터베이스에 보존한 일자와 오늘의 일자를 비교한다【XCode】), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/MajesticAster/items/b515c59f944094d692d2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)