gpt4 book ai didi

iphone - NSDate - 一年前,困境

转载 作者:可可西里 更新时间:2023-11-01 04:05:00 24 4
gpt4 key购买 nike

我正在尝试做一些对我来说有点困难的事情。但我敢肯定有人有一些见解。

给定一个日期,比如说 2011 年 1 月 17 日,我试图找出与一年前的这个日期对应的那一天。所以 2011 年 1 月 17 日 是星期一,一年前的这一天是 2010 年 1 月 18 日(也是星期一)。结果是 January 18, 2010January 17, 2011 早 354 天。我最初想简单地减去非闰年的 365 天和闰年的 366 天,但如果你在这种情况下这样做,你会得到 January 17, 2010,这是一个周日,而不是周一。

因此,在带有 NSDateNSCalendar 的 Objective-C 中,我如何实现如下函数:

-(NSDate *)logicalOneYearAgo:(NSDate *)from {
}

换句话说,第 n 个月的第 n 个“工作日”(其中“工作日”是星期一或星期二或星期三等)

最佳答案

您可以像这样使用 NSDateComponents:

- (NSDate *)logicalOneYearAgo:(NSDate *)from {

NSCalendar *gregorian = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];

NSDateComponents *offsetComponents = [[[NSDateComponents alloc] init] autorelease];
[offsetComponents setYear:-1];

return [gregorian dateByAddingComponents:offsetComponents toDate:from options:0];

}

关于iphone - NSDate - 一年前,困境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4729851/

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