我有这种方法将我的MySQL日期转换为NSDate
...我做错了什么,日期是nil
?
- (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
的类别,而self的值是@"2014-02-12 09:03:44"
。
答案 0 :(得分:4)
看起来你正在使用PHP风格的日期格式字符串。这不是NSDateFormatter使用的。 NSDateFormatter's documentation说:
格式字符串使用Unicode Technical Standard #35中的格式模式。
我认为您正在寻找的格式模式是yyyy-MM-dd HH:mm:ss
。将日期格式字符串替换为该字符串,您应该开始获取所需的NSDate对象。
答案 1 :(得分:1)
由于你的 dateFormatter 不对,日期即为零,你必须使用它:
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
希望这会对你有所帮助。