2015-04-27 198 views
0

我有一個字符串30-07-2013我想轉換爲30 June。 我使用轉換日期

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"dd/MM/YYYY"]; 
NSDate *date = [dateFormat dateFromString:@"30-07-1983"]; 

他們表現出響應1984-12-24 18:06:32 +0000

+0

這個問題被問多萬次。你用Google搜索了嗎?使用適當的日期格式。 –

+0

剛剛更新了Nandana的答案.. –

+0

問題是您使用的格式必須與您的數據字符串匹配... – Wain

回答

1

試試這個

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"dd-MM-yyyy"]; 
NSDate *date = [dateFormat dateFromString:@"30-07-2013"]; 

[dateFormat setDateFormat:@"dd MMM"]; 
NSString *strDate=[dateFormat stringFromDate:date]; 
NSLog(@"strDate : %@",strDate); 
+0

您應該使用'yyyy'而不是'YYYY'。兩者不相同 –

+0

本節目19十一月 –

+0

「dd MMM」格式僅返回3個字符中的月份名稱。如果你想要月份的全名,請嘗試下面的代碼。 –

0

請在這裏試試這個

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"dd-MM-yyyy"]; 
NSDate *date = [dateFormat dateFromString:@"30-07-1983"]; 

NSDateComponents *components = [[NSCalendar currentCalendar] components:(NSCalendarUnitDay | NSCalendarUnitMonth) fromDate:date]; 

NSLog(@"%d %@",(int)[components day],[[[NSDateFormatter new] monthSymbols] objectAtIndex:(components.month-1)]);