/ / Swift:時間間隔でNSDateをフィルタリングする - ios、swift、datepicker、nsdate、nscalendar

Swift:時間間隔でNSDateをフィルタリングする - ios、swift、datepicker、nsdate、nscalendar

私は NSDate() ユーザーが datePickerこの日付は、現在の週、現在の月および1年ごとにフィルタリングする必要があります。私は使ってみた NSCalendar 私はそれを働かせることができませんでした。 私はこれをグループ化したい NSDates それらが入っている時間間隔に応じて、異なる配列で配列されます。

回答:

回答№1は0

1つの方法は、単に使用することです NSPredicate

NSArray *arrayOfDates = @[
[NSDate dateWithTimeIntervalSince1970:0],
[NSDate dateWithTimeIntervalSince1970:100],
[NSDate dateWithTimeIntervalSince1970:200]
];

NSDate *leftLimit = [NSDate dateWithTimeIntervalSince1970:50];
NSDate *rightLimit = [NSDate dateWithTimeIntervalSince1970:150];
NSPredicate *dateIntervalPredicate = [NSPredicate predicateWithFormat:@"self > %@ && self < %@", leftLimit, rightLimit];
NSArray *result = [array filteredArrayUsingPredicate:dateIntervalPredicate];
NSLog(@"Result: %@", result);

もちろん、関数にラップすることもできますが、これは単なる例です。