【发布时间】:2015-06-09 13:52:45
【问题描述】:
我有一个带有NSDate() 的数组,用户使用datePicker 添加该数组,那么这个日期需要按当前周、当前月份和年份进行过滤。我尝试过使用NSCalendar,但我无法让它工作。
我想根据它们所处的时间间隔将这个NSDates 分组到不同的数组中。
【问题讨论】:
标签: ios swift datepicker nsdate nscalendar
我有一个带有NSDate() 的数组,用户使用datePicker 添加该数组,那么这个日期需要按当前周、当前月份和年份进行过滤。我尝试过使用NSCalendar,但我无法让它工作。
我想根据它们所处的时间间隔将这个NSDates 分组到不同的数组中。
【问题讨论】:
标签: ios swift datepicker nsdate nscalendar
一种方法是简单地使用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);
当然,你可以把它包装成一个函数,这只是一个例子。
【讨论】: