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