2013-08-12 11 views
5

Wenn ich ein NSDate Objekt habe, wie kann ich einen NSString so formatieren, dass nur die ersten 3 Buchstaben des Tages ausgegeben werden (wie Mo, Di, Mi, Do, Fr, Sa, So)) und die ersten 3 Buchstaben des Monats (Jan, Feb, Mär, Apr, Mai, Jun, Jul, Aug, Sep, Okt, Nov, Dez)?Formatieren eines NSDate mit abgekürzten Monats-/Tagnamen

Derzeit verwende ich diese NSDateFormatter:

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; 
     dateFormatter.dateFormat = @"MMMM dd yyyy"; 

     NSDate *date = ... 
     NSString *dateString = [dateFormatter stringFromDate:date]; 

     NSLog(@"dateString: %@",dateString); 
     // outputs August 09 2013 
     // I would like the output to be Fri, August 9 

bearbeiten

Ich habe auch versucht, die NSDateComponent verwenden, aber ich frage mich, wenn es darum geht, die Abkürzungen einige Abkürzung ist ...

NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit fromDate:date]; 
+2

Haben Sie sich die Datumsformatierungsspezifizierer angesehen? Siehe http://www.unicode.org/reports/tr35/tr35-25.html#Date_Format_Patterns – rmaddy

+0

@rpaddy danke Sir. Wusste nicht, dass Dokumentation existiert. Ich werde mich von nun an darauf beziehen. –

+0

Schauen Sie in der Referenzdokumentation nach 'NSDateFormatter'. Es gibt einen Link zu "Datenformatierer", der wiederum einen Link für "Datumsformatierer" enthält, der schließlich einen Link zu der Seite hat, auf die ich verwiesen habe. Es ist wirklich offensichtlich;) – rmaddy

Antwort

10

Wie pro Link freundlicherweise von rmaddy vorgesehen, @"EEE, MMM d"; ist die Lösung