2011-03-15 72 views
0

这里是存放在低于价值我的字符串:2011-03-13 23点22分05秒的NSDate从NSString的返回null问题

这里是我的代码:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter dateFromString: [dict valueForKey:@"Message"]]; 
[m setLastSyncDate:[formatter dateFromString: [dict valueForKey:@"Message"]]]; 
NSLog(@"New LastSyncDate: %@ : %@",[dict valueForKey:@"Message"], m.LastSyncDate); 

这是响应我进入控制台:

New LastSyncDate: 2011-03-13 23:22:05 : (null) 

为什么我在这里得到一个(null)?

更新代码:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
      [formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"]; 
      Manufacturer *m = [self.manufacturers objectAtIndex:i]; 
      [m setLastSyncDate:[formatter dateFromString: [dict valueForKey:@"Message"]]]; 
      NSLog(@"New LastSyncDate: %@ : %@",[formatter dateFromString: [dict valueForKey:@"Message"]], m.LastSyncDate); 

返回值:

New LastSyncDate: (null) : (null) 
+0

HH应该是HH。 – saturngod 2011-03-15 05:08:26

回答

3

更新的代码:因为你是用24个小时格式

NSDateFormatter* formatter = [[[NSDateFormatter alloc] init] autorelease]; 


    //2011-03-13 23:22:05 
    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; ///add this line 


    NSString* message; 
    NSDate* LastSyncDate; 

    [email protected]"2011-03-13 23:22:05"; 
    LastSyncDate=[formatter dateFromString:message]; 

    NSLog(@"New LastSyncDate: %@ : %@",message, LastSyncDate); 
+0

我试过了,仍然没有运气 – Slee 2011-03-15 04:55:26

+0

我试过了,它工作正常。 – saturngod 2011-03-15 05:07:00

+0

一旦我将我的dic valueForKey强制转换为NSString工作 - 感谢您的帮助。 – Slee 2011-03-16 13:55:42

3

你需要set the date format string


你还需要确保[dict valueForKey:@"Message"]没有返回nil

+0

我试过,仍然没有运气 – Slee 2011-03-15 04:57:47