2013-02-23 4 views
0

я получаю данные в следующем форматедата форматирования с помощью NSDate форматировщик

20130224233000 where, 

2013 - year 
02 month 
24 day 

23 hh 
30 mm 
00 ss 

и я хочу в следующем формате

Wednesday, 24-Feb-13 11:30 PM 

Я попытался ниже код

NSDate *today = [NSDate date]; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"MM/dd/yyyy hh:mma"]; 
NSString *dateString = [dateFormat stringFromDate:today]; 
return dateString; 

но это даст формат, который мне не нужен

ответ

3

Вам нужно два NSDateFormatters, один для преобразования в NSDate, а другой - в NSString. Используйте ссылку format table.

NSString* date = @"20130224233000"; 
NSDateFormatter *parser = [[NSDateFormatter alloc] init]; 
[parser setDateFormat:@"yyyyMMddHHmmss"]; 
NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"eeee, dd-MMM-yy hh:mm a"]; 
NSString *dateString = [formatter stringFromDate:[parser dateFromString:date]]; 
return dateString; 
0

Попробуйте это:

NSDate *today = [NSDate date]; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"EEE d-MMM-yy HH:mma"]; 
NSString *dateString = [dateFormat stringFromDate:today]; 
return dateString; 
+0

но я хочу конвертировать 20130224233000 в среду, 24-февр.-13 11:30 утра NSDate * сегодня = [дата NSDate]; –

+0

Что такое тип 20130224233000? 'NSString',' NSData'? – yeesterbunny

0
NSDate *today = [NSDate date]; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
dateFormat setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]]; 
[dateFormat setDateFormat:@"EEEE, dd-MMM-yy HH:mm a"]; 
NSString *dateString = [dateFormat stringFromDate:today]; 
return dateString; 

Надеется, что это помогает.

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