你如何在Cocoa中提取当前日期的数量?

时间:2012-03-22 14:46:01

标签: cocoa nsdate nsdatecomponents

如何在Cocoa中提取当前月份的数量? 这就是我这样做但它返回的东西像309420938420422 .. 谢谢!

-(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;
}

2 个答案:

答案 0 :(得分: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 :(得分:1)

尝试使用NSDayCalendarUnit代替NSMonthCalendarUnit。或者执行以下操作以获得更多(天,月,年,小时,分钟,秒等):

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

希望有所帮助