2013-06-12 4 views
-6

Я хочу отформатировать 06-06-2013 1:51 PM как Jun 06,2013.Формат даты с NSDateFormatter

Я пробовал всевозможные стили форматирования с использованием NSDateFormatter, но не удалось.

+0

06-06-2013 1:51 PM это NSString или NSDate? –

+4

Я сомневаюсь, что вы пробовали ** все возможные комбинации **. Покажи нам пару из тех, что ты сделал. – Abizern

+0

@Rahul это NSString – DJB

ответ

1

Попробуйте это
Сначала вам нужно преобразовать эту строку в NSDate, а затем снова преобразовать NSdate в строку с помощью форматирования.

NSDateFormatter *dateFormatForDB = [[NSDateFormatter alloc] init]; 
    [dateFormatForDB setDateFormat:@"dd-MM-yyyy HH:mm a"]; //Note capital H is 4 24-hour time format 
    NSDate *aDate = [[[NSDate alloc] initWithTimeInterval:0 sinceDate:[dateFormatForDB dateFromString:aDateString]] autorelease]; 
    if(aDate){ 
    [formatter setDateFormat:@"MMM dd,yyyy"]; 
    NSString *date = [formatter stringFromDate:aDate]; 
    [dateFormatForDB release]; 
    } 
0

Попробуйте использовать этот формат

[df setDateFormat:@"MMM dd,yyyy]; 
0

Глядя на свой формат, я думаю, что это то, что вы ищете ...

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
[df setDateFormat:@"dd-MM-yyyy hh:mm a"]; 
NSDate *newDate = [df dateFromString:dateString]; 
NSDateFormatter *df2 = [[NSDateFormatter alloc] init]; 
[df2 setDateFormat:@"MMM dd,yyyy"]; 
NSString *formattedDate = [df2 stringFromDate:newDate]; 

Это даст вам дату как строка в требуемом формате. Если вы хотите время в 24-часовом формате, замените «hh» на «HH».

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