我想从当前的 NSDate 计算年份。假设我当前的日期是14-06-2012,那么年底之后的最后一个日期是什么。(简单来说,我可以向您解释,如果我有日期01-01-2012那么在年底之后我会得到31-12-2012)。那么,我如何计算当前日期的年份。以下输出我期望我的项目:
- 下一年或结束年 年结束的日期(如 31-12-2012)。
- 下一个或年末月份(最后一个日期月份)。
- 下一年或结束年份(最后日期年份或下一年)。
它应该是 NSDate 格式。希望你能明白我的意思。
我想从当前的 NSDate 计算年份。假设我当前的日期是14-06-2012,那么年底之后的最后一个日期是什么。(简单来说,我可以向您解释,如果我有日期01-01-2012那么在年底之后我会得到31-12-2012)。那么,我如何计算当前日期的年份。以下输出我期望我的项目:
- 下一年或结束年 年结束的日期(如 31-12-2012)。
- 下一个或年末月份(最后一个日期月份)。
- 下一年或结束年份(最后日期年份或下一年)。
它应该是 NSDate 格式。希望你能明白我的意思。
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
你可以使用这个:
NSDate *now = [NSDate date];
NSDateComponents *dc = [[NSDateComponents alloc] init];
[dc setYear:1];
NSDate *targetDateObject = [[NSCalendar currentCalendar] dateByAddingComponents:dc toDate:now options:0];
[dc release];