2017-12-18 352 views
0

我試圖將「2017-12-05T00:00:00-0500」格式的日期轉換爲Dec 05。爲此,我使用以下代碼但每次都返回零。我不知道這段代碼有什麼問題。仔細閱讀代碼並讓我知道我的錯誤。任何一種指導方向都將不勝感激。提前致謝!將日期從一種格式轉換爲其他返回無目標c中的零

[dtF setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ"]; 
     NSDate *d = [dtF dateFromString:[dic valueForKey:@"weight_date"]]; 
     NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
     [dateFormat setDateFormat:@" YYYY-MM-DD hh:mm:s"]; 
     NSString *st = [dateFormat stringFromDate:d]; 
     NSLog(@"%@",st); 
+0

你從這裏得到的OP'的NSDate * D' –

+0

你檢查的是'D'實際上包含轉換日期 – Flexicoder

+0

它返回零。 – Prez

回答

0

您的日期格式有誤我已經做了修改請檢查答案。

檢查下面的代碼我有,你曾經參與過的問題之日起代替你的DIC:

NSDateFormatter *dtF = [[NSDateFormatter alloc] init]; 
[dtF setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"]; 
NSDate *d = [dtF dateFromString:@"2017-12-05T00:00:00-0500"]; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"MMM dd"]; 
NSString *st = [dateFormat stringFromDate:d]; 
NSLog(@"%@",st); 
+0

爲什麼要投票? – ivarun

+0

我沒有這樣做。 – Prez

0

正如我測試了我們的代碼,我才知道,DTF沒有返回值d是零

所以對於DTF格式應該是

yyyy-MM-dd'T'HH:mm:ss-SSSS 

然後用此代替休息。

NSDate *d = [dtF dateFromString:[dic valueForKey:@"weight_date"]]; 
[dtF setDateFormat:@"MMM dd"]; 
NSString *st = [dtF stringFromDate:d]; 
NSLog(@"%@",st); 
+0

請加評論爲什麼它是錯的 –

+0

我沒有標記它錯了,這是絕對正確的。 – Prez

+0

那麼你爲什麼低估它 –

1
NSDateFormatter *dtF = [[NSDateFormatter alloc] init]; 
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dtF setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"]; 
NSDate *d = [dtF dateFromString:[dic valueForKey:@"weight_date"]];//@"2017-12-05T00:00:00-05:00" 
[dateFormat setDateFormat:@"MMM dd"]; 
NSString *st = [dateFormat stringFromDate:d]; 
NSLog(@"%@",st); 
相關問題