2017-12-18 353 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); 
相关问题