gpt4 book ai didi

ios - 如何在 NSPredicate 中匹配保留时间组件的日期?

转载 作者:行者123 更新时间:2023-11-28 22:29:53 24 4
gpt4 key购买 nike

我有一个时间分量归零的 NSDate。

我在 NSArray 中的每个对象中都有一个 NSDate 成员。

我想使用 NSPredicate 过滤掉一组对象,只保留与我用来过滤的日期匹配的对象。

问题是:对象中的日期字段包含我需要的时间组件。

如何形成谓词格式字符串,其中我只匹配日期部分而不匹配时间。

我制作了一个静态实用程序方法,它接受一个日期并给出一个时间部分被清零的日期。

我可以在谓词字符串中使用此方法来转换该日期然后进行比较吗?

代码如下:

NSDate *startingDate = [MyUtilities  dateByRemovingTimeFromDate:self.currentEvent.associatedEvent.startDate];
NSDate *filterDate = [MyUtilities dateByAddingDays:_selectedRow toDate:startingDate];
NSArray *filteredArray = nil;
filteredArray = [_eventsList filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"displayDate == %@",filterDate]];

我可以使用 dateByRemovingTimeFromDate 方法:我在 displayDatepredicate string 中制作的 MyUtilities

最佳答案

您可以创建一个带有日期范围的谓词,这样您就不需要比较时间(或修改它)m 只需计算日期范围的开始和结束(然后使用 >= 开始日期和 <= 结束日期).


NSPredicate *filterPredicate = [NSPredicate predicateWithFormat:@"displayDate >= %@ AND displayDate <= %@", filterDate, nextDateAfterfilterDate];

关于ios - 如何在 NSPredicate 中匹配保留时间组件的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17723309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com