2013-02-23 55 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轉換爲星期三,2月24日星期三11:30 PM不是NSDate *今天= [NSDate日期]; – 2013-02-23 08:14:40

+0

20130224233000是什麼類型的? 'NSString','NSData'? – yeesterbunny 2013-02-23 08:17:36

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; 

希望這有助於。