我想根據當前日期計算NSDate對象。如果當前日期爲2015年4月1日,則需要生成日期2014年12月31日。如果當前日期爲2015年4月30日,則仍需要生成日期2014年12月31日。但是,如果它是2015年5月1日,我需要生成2015年1月31日。換句話說,無論我在哪個月,我都需要從四個月前開始的月底的日期,而不管我在當月的位置。鑑於NSDate,找到第四個前個月的最後一天
我迄今的代碼是:
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](https://github.com/yannickl/YLMoment)?我敢打賭,它會幫助你做你需要的。 – brandonscript 2015-02-24 21:11:27
你知道,月底是下個月開始的前一天。除了天以外還有其他組件。而NSCalendar'rangeOfUnit'可以提供一些有用的信息。 – 2015-02-24 21:50:16