2016-11-30 43 views
0

我想將日期格式從「MM/dd/YYYY HH:mm:ss」更改爲「EEE dd MMM yyyy hh:mm a」,但我使用的代碼不起作用,例如,如果我的輸入爲11/30/2016T01:04:30我將月份更改爲12月,任何人都可以幫助哪裏出錯?日期格式化程序無法正常工作?

NSString * date = @"11/30/2016T01:04:30"; 
date = [date stringByReplacingOccurrencesOfString:@"T" withString:@" "]; 

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
[df setDateFormat:@"MM/dd/YYYY HH:mm:ss"]; 
NSDate *myDate = [df dateFromString: date]; 

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"EEE dd MMM yyyy hh:mm a"]; 
NSString *dayName= [dateFormatter stringFromDate:myDate]; 
NSLog(@"the converted Day %@",dayName); 
+0

你想要的東西放出來就告訴我 –

+0

@HimanshuM oradiya希望將MM/dd/YYYY HH:mm:ss--格式轉換爲--EEE dd MMM yyyy hh:mm a - – Arun

+2

@Arun您在第一次約會時因爲大寫'YYYY'而面臨此問題Formate它應該是小'yyyy'也不需要使用兩個dateFormatter,你可以使用單一的一次,而不是使用空格替換'T',只需將dateFormate更改爲'MM/dd/yyyy'T'HH:mm: ss' –

回答

1

不需要這個

// date = [date stringByReplacingOccurrencesOfString:@"T" withString:@" "]; 

使用像

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
NSString * date = @"11/30/2016T01:04:30"; 

[df setDateFormat:@"MM/dd/yyyy'T'HH:mm:ss"]; 
NSDate *myDate = [df dateFromString: date]; 

[df setDateFormat:@"EEE dd MMM yyyy hh:mm a"]; 
NSString *dayName= [df stringFromDate:myDate]; 
NSLog(@"the converted Day %@",dayName); 

輸出:

the converted Day Wed 30 Nov 2016 01:04 AM 
+0

坦斯克兄弟安布:) .. – Arun

+0

也檢查你的時區也,如果你需要 –

+0

karthick解決frnd坦克你:) – Arun