-1

我想从当前的 NSDate 计算年份。假设我当前的日期是14-06-2012,那么年底之后的最后一个日期是什么。(简单来说,我可以向您解释,如果我有日期01-01-2012那么在年底之后我会得到31-12-2012)。那么,我如何计算当前日期的年份。以下输出我期望我的项目:

  1. 下一年或结束年 年结束的日期(如 31-12-2012)。
  2. 下一个或年末月份(最后一个日期月份)。
  3. 下一年或结束年份(最后日期年份或下一年)。

它应该是 NSDate 格式。希望你能明白我的意思。

4

2 回答 2

3
NSDate *today = [NSDate date]; 
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comps = [gregorian components:(NSYearCalendarUnit) fromDate:today];

[comps setDay:31]; // last day of year is always the same
[comps setMonth:12];

NSInteger year = [comps year]; // the current year
NSDate *lastDayOfYear = [gregorian dateFromComponents:comps]; // the last day of the year
于 2012-06-13T14:39:00.683 回答
0

你可以使用这个:

NSDate *now = [NSDate date];
NSDateComponents *dc = [[NSDateComponents alloc] init];
[dc setYear:1];
NSDate *targetDateObject = [[NSCalendar currentCalendar] dateByAddingComponents:dc toDate:now options:0];
[dc release];
于 2012-06-13T14:09:29.463 回答