Objective c 为什么我得到这个NSDate的空值?

Objective c 为什么我得到这个NSDate的空值?,objective-c,ios,nsdate,Objective C,Ios,Nsdate,我正在从一个web服务返回一个NSDictionary,该服务在登录时如下所示: NSLog(@"dictionary: %@", dictionary); 给我: dictionary: { BackOrderDate = "1/1/0001 12:00:00 AM"; Quantity = 15; } setting back order date:(null) 3/1/2012 12:00:00 AM 然后我试着从中得到一个日期: NSDateFormatter *d

我正在从一个web服务返回一个NSDictionary,该服务在登录时如下所示:

NSLog(@"dictionary: %@", dictionary);
给我:

dictionary: {
    BackOrderDate = "1/1/0001 12:00:00 AM";
    Quantity = 15;
}
setting back order date:(null) 3/1/2012 12:00:00 AM
然后我试着从中得到一个日期:

NSDateFormatter *df = [[NSDateFormatter alloc] init];
NSDate *date = [df dateFromString: [dictionary objectForKey:@"BackOrderDate"]];
将此记录为空,但我知道我的字典有一个值:

NSLog(@"setting back order date:%@ %@",date, [dictionary objectForKey:@"BackOrderDate"]);
给我:

dictionary: {
    BackOrderDate = "1/1/0001 12:00:00 AM";
    Quantity = 15;
}
setting back order date:(null) 3/1/2012 12:00:00 AM
在这件事上花了很多时间-我错过了什么???

我想你错过了

[df setDateFormat:@"dd/MM/yyyy HH:mm:ss aaa"];

不幸的是,这没有什么区别,仍然得到(null)好的,但我真正想要的是类似于MM/dd/yyyy的东西,但这给了我一个null-这不是有效的日期格式吗?您应该提供类似字符串的格式。这样,字符串包含日、月、年和时间。如果要使用MM/dd/yyyy格式,则字符串应为@“1/1/0001”(
[[dictionary objectForKey:@“BackOrderDate”]componentsSeparatedByString:@“]objectAtIndex:0]
)。但最后您将检索NSDate对象,该对象将包含日、月、年和时间(时间将设置为00:00:00)。所以,我不认为这真的有帮助。