gpt4 book ai didi

objective-c - 在Objective-C中以特定间隔递增NSDateComponents的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-01 19:15:29 24 4
gpt4 key购买 nike

我需要在特定时间段内从核心数据中获取对象;即weeklymonthlyyearly

然后,我将组件生成的日期输入到predicate中,如下所示:

[NSPredicate predicateWithFormat:@"(date >= %@) AND (date <= %@", 
intervalStartDate, intervalEndDate];

间隔/期间的示例:
          start          end            start          end
weekly Jan 2, 2012 to Jan 08, 2012, Jan 9, 2012 to Jan 15, 2012, etc.
monthly Jan 1, 2012 to Jan 31, 2012, Feb 1, 2012 to Feb 29, 2012, etc.
yearly Jan 1, 2011 to Dec 31, 2011, Jan 1, 2012 to Dec 31, 2012, etc.

有了这些,我就可以在该时间段内获得特定的对象。

我的问题是,我不知道增加日期成分的最佳方法是什么。我必须考虑leap年,等等。

实现此目标的最佳方法是什么?

最佳答案

只要您使用正确的NSCalendar,并且您对待日期的每个计算都彼此独立,则结果日期就可以了。

NSDateComponents *dateOffset = [[NSDateComponents alloc] init];
[dateOffset setWeek:1]; // weekly
// [dateOffset setMonth:1]; // monthly
// [dateOffset setYear:1]; // yearly

NSDate *endDate = [gregorian dateByAddingComponents:dateOffset toDate:startDate options:0];

关于objective-c - 在Objective-C中以特定间隔递增NSDateComponents的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13760267/

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