如何在iphone中计算当前日期的天数

时间:2013-12-11 13:59:51

标签: ios iphone ios7

我正在使用iPhone应用程序。

如何在iPhone中获取当前年度第一天到当前日期的天数。

我试过这段代码:   NSCalendar * gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];

NSDateComponents *components = [gregorianCalendar components:NSDayCalendarUnit fromDate:self toDate:aDate options:0];

return [components day];

但是当我从约会时给出的是:jan / 01/2013 todate是:dec / 12/31我有363天。但我们有365天。

请帮我解决这个问题。感谢。

2 个答案:

答案 0 :(得分:2)

NSCalendar是你的朋友:

NSDate *now = [NSDate date];
NSCalendar *cal = [NSCalendar currentCalendar];
NSUInteger days = [cal ordinalityOfUnit:NSDayCalendarUnit
                                 inUnit:NSYearCalendarUnit forDate:now];

今天(2013年12月11日)的结果:345

答案 1 :(得分:0)

使用此代码可以获得两个日期之间的天数。

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

    NSDateComponents *components = [gregorian components:NSDayCalendarUnit
                                                fromDate:date

                                                  toDate:toDate
                                                 options:0];
    NSInteger days = [components day];
    ;
    return days;