Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSDateFormatter未正确返回_Ios_Iphone_Objective C_Nsdate_Nsdateformatter - Fatal编程技术网

Ios NSDateFormatter未正确返回

Ios NSDateFormatter未正确返回,ios,iphone,objective-c,nsdate,nsdateformatter,Ios,Iphone,Objective C,Nsdate,Nsdateformatter,我正在解析一个XML文件,并试图将其转换为可以在iOS应用程序中使用的数据 我有一个名为elementDate的NSMutableString 如果我读入XML文件并执行 NSLog(@"Read date: %@", elementDate): 我明白了 阅读日期:2013-12-31 这正是我所期望的。但我现在需要把它转换成NSDate 所以我声明了一个日期格式化程序 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] i

我正在解析一个XML文件,并试图将其转换为可以在iOS应用程序中使用的数据

我有一个名为elementDate的NSMutableString

如果我读入XML文件并执行

NSLog(@"Read date: %@", elementDate):
我明白了

阅读日期:2013-12-31

这正是我所期望的。但我现在需要把它转换成NSDate

所以我声明了一个日期格式化程序

  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]);
结果是:

来自字符串的日期:(空)


我缺少什么简单的东西?

代码运行良好。不需要按照评论者的建议设置日历。我怀疑您在xml解析期间在日期字符串中发现了一些空白。试一试

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

NSLog(@“%u”,元素日期长度]显示elementDate的长度。好吧,没有必要设置日历,但它应该不会有任何伤害。正如Kudo所建议的,日期字符串的任意一端都可能附加了一些垃圾。是的。就这样。里面有一个空白字符。非常感谢!!!是的,XML值通常包含换行符和制表符,除非您使用XML解析器选项来消除空白。