Ios NSDateFormatter未正确返回
我正在解析一个XML文件,并试图将其转换为可以在iOS应用程序中使用的数据 我有一个名为elementDate的NSMutableString 如果我读入XML文件并执行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
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解析器选项来消除空白。