2012-04-11 2 views
0

Я получаю дату в форме formate ad "2012-04-11T07: 51: 10 + 0000" & Я хочу преобразовать его в NSDate как "11-04-2012". Я не понимаю, как использовать для этого «setDateFormat».Как сделать преобразование даты?

Это то, что я делаю - [dateFormatter setDateFormat: @ "yyyy '-' MM '-' dd'T'HH ':' mm ':' ss '+' zzzz"];

Пожалуйста, помогите.

И независимо от того, что NSDate я получу, я снова хочу преобразовать в строку, т.е. только 11-04-2012. Я искал на ggl. Но не удовлетворительный результат :(

пожалуйста помочь

ответ

0

Вот как разобрать строку, чтобы сгенерировать дату:.

NSString *dateString = @"2012-04-11T07:51:10+0000"; 
NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
formatter.dateFormat = @"yyy-MM-dd'T'HH:mm:ssZ"; 
NSDate *date = [formatter dateFromString:dateString]; 
NSLog(@"Date: %@", date); 

Теперь вы можете создать новую строковое представление даты следующим образом:

formatter.dateFormat = @"dd-MM-yyyy"; 
NSString *newDateString = [formatter stringFromDate:date]; 
NSLog(@"New string: %@", newDateString); 
// 11-04-2012 

проблема с dateFormat вас мы что вы не должны избегать всех символов, таких как 'MM', и что zzzz - неправильный символ для разбора часового пояса типа +0000.

Посмотрите на это documentation для получения дополнительной информации.

+0

Спасибо sch :) – PriyankaJ

+0

Но как получить только дату из этого? – PriyankaJ

+1

Что это значит? Вероятно, вы ищете 'newDateString'. – sch

0

Попробуйте этот код.

NSString *dateStr = @"Wed, 22 Jun 2011 12:36:00 +0100"; // change value base on your requirement. 

    // Convert string to date object 
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
    [dateFormat setDateFormat:@"EEE, d MMM yyyy HH:mm:ss ZZZ"]; // Change format base on dareStr. 
    NSDate *date = [dateFormat dateFromString:dateStr]; 

    // Convert date object to desired output format 
    [dateFormat setDateFormat:@"EEE, MMM d YYYY"]; // Change format base on your output requirement 
    dateStr = [dateFormat stringFromDate:date]; 
    NSLog(@"Date -- %@",dateStr); 
    [dateFormat release]; 
+0

Это для получения требуемой даты из строки даты. –

Смежные вопросы