NSDateFormatter未正确返回

时间:2014-01-27 02:41:22

标签: ios iphone objective-c nsdate nsdateformatter

我正在解析一个XML文件,并且我试图将它带入我可以在我的iOS应用程序中使用的数据。

我有一个名为elementDate

的NSMutableString

如果我在中读取XML文件并执行....

NSLog(@"Read date: %@", elementDate):

我得到了

阅读日期:2013-12-31

这是我的期望。但我现在需要将其转换为NSDate

所以我声明了一个dateFormatter

  NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    [dateFormatter setCalendar:calendar];
    [dateFormatter setDateFormat:@"yyyy-MM-dd"];

然后我做了

NSLog(@"Date From String: %@", [dateFormatter dateFromString:elementDate]);

结果是:

日期来自字符串:( null)

我错过了什么简单的事情?

1 个答案:

答案 0 :(得分:2)

代码运行正常。无需像评论者所建议的那样设置日历。我怀疑你在xml解析期间在日期字符串中拾取了一些空格。试试

NSString *trimmed = [elementDate stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSLog(@"Date From String: %@", [dateFormatter dateFromString:trimmed]);