Ios 将NSString 8-8-2015 12:00:00 AM转换为NSDate

Ios 将NSString 8-8-2015 12:00:00 AM转换为NSDate,ios,objective-c,nsstring,nsdate,nsdateformatter,Ios,Objective C,Nsstring,Nsdate,Nsdateformatter,我知道这个问题被问了太多次,但没有一个符合我的要求 我有2015年8月8日12:00:00的NSString,名为strEventTimeBegin。如何将此NSString转换为NSDate?以下是我尝试过但返回null的内容 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //[dateFormatter

我知道这个问题被问了太多次,但没有一个符合我的要求

我有2015年8月8日12:00:00的NSString,名为strEventTimeBegin。如何将此NSString转换为NSDate?以下是我尝试过但返回null的内容

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
//[dateFormatter setDateStyle:NSDateFormatterMediumStyle];

NSDate *startEventDate = [dateFormatter dateFromString:strEventTimeBegin];

来自内存,但这应该可以工作:

[dateFormatter setDateFormat:@"d-M-yyyy hh:mm:ss a"];
只是解释一下,在你的例子中

这一天和这一年是倒退的。 您使用的是两位数的天数和 它期待着2015年8月8日。 你错过了这段时间 AM/PM标识符。
现在是12小时,使用hh,而不是hh。它不起作用,因为日期格式与字符串格式不匹配。所有内容都必须匹配并且顺序相同。您可能已经发现数字格式化程序适用于完全不同的模式。这一事实至少不会让你感到有点困扰吗?M-d-yyyy hh:mm:ss a可能更接近现实。