2つの日付の間に2暦日が過ぎているかどうかを調べたいです。
使ってみました
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit fromDate:date toDate:now options:0];
NSInteger days = [components day];
日数が2以上かどうかを確認しますが、1日が過ぎている場合にのみ日数がカウントされるようです。
たとえば、2つの日付が次の場合:
月曜日01:00 am
日曜日11:00 pm
結果は0になります。
日曜日は月曜日とは異なるため、1になると予想しました。
両方の日付をそれぞれの日の開始に「正規化」する必要があります。
NSCalendar *cal = [NSCalendar currentCalendar];
NSDate *startOfToday, *startOfOtherDay;
[cal rangeOfUnit:NSDayCalendarUnit startDate:&startOfToday interval:NULL forDate:now];
[cal rangeOfUnit:NSDayCalendarUnit startDate:&startOfOtherDay interval:NULL forDate:date];
次に、差を計算します。
NSDateComponents *components = [cal components:NSDayCalendarUnit fromDate:startOfOtherDay toDate:startOfToday options:0];
NSInteger days = [components day];
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加