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

Convert NSString 8-8-2015 12:00:00 AM to NSDate

我知道这个问题被问了太多次,但 none 符合我的要求。

我在 NSString 中将“8-8-2015 12:00:00 AM”命名为 strEventTimeBegin。如何将此 NSString 转换为 NSDate?这是我尝试过的但 returns 无效。

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"];

只是为了解释,在你的例子中;

  1. 日期和年份是反的。
  2. 您使用的是 2 位数的天数并且 个月(它正在寻找 08-08-2015)。
  3. 你错过了经期 (AM/PM) 标识符。