2012-03-22 79 views
0

如何提取可可中当前月份的天数? 这就是我如何做到这一点,但它返回像309420938420422 .. 谢谢!如何提取Cocoa当前日期的数量?

-(int)getNumberOfCurrentDay:(NSDate*)date_ 
{ 
    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 

    NSDateComponents *comps = [gregorian components:NSMonthCalendarUnit fromDate:date_]; 
    NSInteger numberday = [comps day]; 

    NSLog(@"Number of the day %i", numberday); 


    return numberday; 
} 

回答

1

尝试使用NSDayCalendarUnit而不是NSMonthCalendarUnit。或执行以下操作以获得更多的(日,月,年,时,分,秒等):

int comp = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit; 
NSDateComponents *theDateComponents = [gregorian components:comp fromDate:date_]; 
int day = [theDateComponents day]; 

希望它可以帮助

+0

是的,它帮助! (handshake) – 2012-03-22 15:12:05

3

您需要使用:NSDayCalendarUnit

-(int)getNumberOfCurrentDay:(NSDate*)date_ 
{ 
    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 

    NSDateComponents *comps = [gregorian components:NSDayCalendarUnit fromDate:date_]; 
    NSInteger numberday = [comps day]; 

    NSLog(@"Number of the day %d", numberday); 


    return numberday; 
} 
+1

我认为这是正确的答案! – goodm 2012-03-22 14:52:42

+0

非常感谢,这也对! – 2012-03-22 15:13:07