【问题标题】:Swift : Filtering NSDate by time intervalsSwift:按时间间隔过滤 NSDate
【发布时间】:2015-06-09 13:52:45
【问题描述】:

我有一个带有NSDate() 的数组,用户使用datePicker 添加该数组,那么这个日期需要按当前周、当前月份和年份进行过滤。我尝试过使用NSCalendar,但我无法让它工作。 我想根据它们所处的时间间隔将这个NSDates 分组到不同的数组中。

【问题讨论】:

    标签: ios swift datepicker nsdate nscalendar


    【解决方案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);
    

    当然,你可以把它包装成一个函数,这只是一个例子。

    【讨论】:

    • 实际上不是 Swift(也不是 swift)。
    • @NikolaiRuhe,哦,对不起。我错过了标签。
    猜你喜欢
    • 2017-09-01
    • 1970-01-01
    • 2017-04-23
    • 2014-10-05
    • 2016-06-26
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多