2015-04-27 2 views
0

У меня есть строка 30-07-2013 Я хочу преобразовать ее в 30 June. Я используюДата Преобразование

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"dd/MM/YYYY"]; 
NSDate *date = [dateFormat dateFromString:@"30-07-1983"]; 

Они Показать ответ 1984-12-24 18:06:32 +0000

+0

Этот вопрос был задан более тысячи раз здесь. У вас есть googled ?. Используйте правильный формат даты. –

+0

Только что обновил ответ Nandana .. –

+0

Суть в том, что формат, который вы используете, должен соответствовать тому, который у вас есть ... – Wain

ответ

1

Попробуйте

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"dd-MM-yyyy"]; 
NSDate *date = [dateFormat dateFromString:@"30-07-2013"]; 

[dateFormat setDateFormat:@"dd MMM"]; 
NSString *strDate=[dateFormat stringFromDate:date]; 
NSLog(@"strDate : %@",strDate); 
+0

Вы должны использовать 'yyyy' вместо' YYYY'. Оба не одинаковы –

+0

это шоу 19 декабря –

+0

Формат «dd MMM» возвращает название месяца в 3 символах. Пожалуйста, попробуйте ввести код ниже, если вы хотите указать полное имя месяца. –

0

Пожалуйста, попробуйте этот

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"dd-MM-yyyy"]; 
NSDate *date = [dateFormat dateFromString:@"30-07-1983"]; 

NSDateComponents *components = [[NSCalendar currentCalendar] components:(NSCalendarUnitDay | NSCalendarUnitMonth) fromDate:date]; 

NSLog(@"%d %@",(int)[components day],[[[NSDateFormatter new] monthSymbols] objectAtIndex:(components.month-1)]); 
Смежные вопросы