NSDateFormatter stringFromDate保持返回nil

ver*_*age 2 formatting null objective-c nsdateformatter ios

我对NSDateFormatter有一个奇怪的问题.当然我在这里做错了,但我无法弄清楚它是什么,一定是小而愚蠢的......

我有一个我想要格式化的日期.日期是2012-05-06 16:52:40并且包含在NSDate对象中,它已正确初始化,我在调试器中检查了它.

但是以下代码:

NSLog(@"%@", [myDate description]);
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"dd-MM-yyyy";
NSString *myDateAsString = [dateFormatter stringFromDate:myDate];
NSLog(@"%@", myDateAsString);
Run Code Online (Sandbox Code Playgroud)

打印:

2012-05-06 16:52:40
(null)
Run Code Online (Sandbox Code Playgroud)

我真的没有看到我的代码中的错误.任何提示?

sch*_*sch 14

myDate实际上是一个NSString而不是一个NSDate.否则,描述也将包含时区:2012-05-06 16:52:40 +0000.

请尝试以下方法检查:

NSLog(@"%@", [myDate class]);
Run Code Online (Sandbox Code Playgroud)

  • 你是对的:)在我的代码中,设置了myDate的值,我没有将传入的字符串解析为NSDate对象.我真的不明白的是为什么编译器没有抱怨?为什么它在调试器中显示为NSDate实例? (2认同)