如何通过已知的时间字符串获取所需要的年,月,日?
将时间字符串转换成NSDate,然后再将NSDate转换成NSCalendar,最后再转换成NSDateComponents,并从NSDateComponents中获取年月日信息。
步骤1 通过时间字符串获取NSDate实例
NSString *timeString = @"2014-06-24";
NSDateFormatter *timeFormatter = [[NSDateFormatter alloc] init];
timeFormatter.dateFormat = @"yyyy-MM-dd";
NSDate *dateTime = [timeFormatter dateFromString:timeString];
NSLog(@"date %@", dateTime);
步骤2 通过NSDate实例获取NSCalendar实例
NSCalendar *calendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSInteger unitFlags = NSMonthCalendarUnit | NSDayCalendarUnit | NSYearCalendarUnit | NSHourCalendarUnit|NSMinuteCalendarUnit | NSSecondCalendarUnit;
步骤3 通过NSCalendar实例获取NSDateComponents实例,然后再通过其获取对应的年月日
NSDateComponents *component = [calendar components:unitFlags fromDate:dateTime];
NSInteger yearTime = component.year;
NSInteger monthTime = component.month;
NSInteger dayTime = component.day;
NSLog(@"year %d, month %d, day %d", yearTime, monthTime, dayTime);