0

如何在可可中提取当前月日数?我就是这样做的,但它返回类似 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;
}
4

2 回答 2

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;
}
于 2012-03-22T14:51:01.847 回答
1

尝试使用NSDayCalendarUnit而不是NSMonthCalendarUnit. 或执行以下操作以获得更多信息(天、月、年、小时、分钟、秒等):

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

希望能帮助到你

于 2012-03-22T14:50:55.520 回答