2014-05-11 82 views
-1

我有这种方法来将我的MySQL日期转换为NSDate ...我做错了什么,日期为nilNSString到NSDate转换不起作用

- (NSDate *)dateFromMySQLString { 
    if (self == nil) return nil; 
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"Y-m-d H:i:s"]; 
    NSDate *date = [dateFormatter dateFromString:self]; 
    return date; 
} 

这是从上NSString一个类别,并自的值是@"2014-02-12 09:03:44"

回答

4

它看起来像你使用PHP风格的日期格式字符串。这不是NSDateFormatter使用的。 NSDateFormatter's documentation说:

格式字符串使用Unicode Technical Standard #35的格式模式。

我认为你要找的格式是yyyy-MM-dd HH:mm:ss。用你的日期格式字符串替换,你应该开始得到你想要的NSDate对象。

1

日期来了零,因为你dateFormatter是不对的,你必须使用这样的:

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 

希望这有助于你。