У меня есть NSString со значением "29/01/2010", которое я хочу преобразовать в NSDate, заменив значение года текущим годом.
Для этого я пробовал с
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setYear:2013];
[components setMonth:01];
[components setDay:29];
NSLog(@"%@",[calendar dateFromComponents:components]);
Результат, который он дает, 2013-01-28 18:30:00 +0000
Другой способ, который пробовали, это
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy"];
NSString *yearString = [formatter stringFromDate:[NSDate date]];
NSArray *dateComponents = [aStrBirthDate componentsSeparatedByString:@"/"];
aStrBirthDate = [aStrBirthDate stringByReplacingOccurrencesOfString:[dateComponents lastObject] withString:yearString];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd/MM/yyyy"];
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:aStrBirthDate];
Это также дает тот же результат 2013-01-28 18:30:00 +0000
NSDate *dateFromString = [[NSDate alloc] init];
просто делайNSDate *dateFromString = [dateFormatter dateFromString:aStrBirthDate];
- person rckoenes   schedule 04.07.20131726785-05-06 00:00:00 +0000
- person Heena   schedule 04.07.2013