NSDateComponents不打印准确的日/月/年时间

我使用NSDateComponents分别获取每日,每月,每年,每小时,每分钟等,但日,月,年和秒不准确2017年11月08日1:00:00 ....有人知道我错过了什么吗?NSDateComponents不打印准确的日/月/年时间

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 

[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];

NSDate *date = [dateFormatter dateFromString:@"2017-11-08 1:00:00"];

NSCalendar *calendar = [NSCalendar currentCalendar];

NSDateComponents *components = [calendar components:(NSCalendarUnitHour | NSCalendarUnitMinute) fromDate:date];

NSInteger day = [components day];

NSInteger month = [components month];

NSInteger year = [components year];

NSInteger hour = [components hour];

NSInteger minute = [components minute];

NSInteger second = [components second];

NSLog(@"day: %ld",(long)day);

NSLog(@"month: %ld",(long)month);

NSLog(@"year: %ld",(long)year);

NSLog(@"hour: %ld",(long)hour);

NSLog(@"minute: %ld",(long)minute);

NSLog(@"second: %ld",(long)second);

输出:

 day: 2147483647 

month: 2147483647

year: 2147483647

hour: 1

minute: 0

second: 2147483647

回答:

你只是得到小时和分钟,因为这是所有你问的。如果你真的要求日,月,年和秒,你会得到它们:

NSCalendarUnit units = NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | 

NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;

NSDateComponents *components = [calendar components:units fromDate:date];

以上是 NSDateComponents不打印准确的日/月/年时间 的全部内容, 来源链接: utcz.com/qa/259294.html

回到顶部