【发布时间】:2015-02-24 21:01:47
【问题描述】:
我正在尝试根据当前日期计算 NSDate 对象。如果当前日期是 2015 年 4 月 1 日,我需要生成日期,2014 年 12 月 31 日。如果当前日期是 2015 年 4 月 30 日,我仍然需要生成日期,2014 年 12 月 31 日。但是,它是2015 年 5 月 1 日,我需要生成 2015 年 1 月 31 日。换句话说,无论我在哪个月份,我都需要从四个月前开始的月底日期,无论我在当前月份的哪个位置。
到目前为止我的代码是:
NSCalendar *theCalendar = [NSCalendar currentCalendar];
NSDateComponents *dayComponent = [[NSDateComponents alloc] init];
[dayComponent setDay:-90];
NSDate *nextDate = [theCalendar dateByAddingComponents:dayComponent toDate:[NSDate date] options:0];
NSLog(@"The date I am getting is: %@", nextDate);
上面的代码给了我当前日期前 90 天的日期值,但我需要日期始终是 4 个月前的月底。
【问题讨论】:
-
你签出YLMoment了吗?我敢打赌它会帮助你做你需要的。
-
要知道,月底就是下月初的前一天。并且还有天以外的组件。而NSCalendar
rangeOfUnit可以提供一些有用的信息。
标签: objective-c nsdate nscalendar nsdatecomponents