![](/img/trans.png)
[英]NSDateFormatter dateFromString will not parse a particular date string
[英]Simple NSDateFormatter / String Parse
2012-10-12 19:29:43
等效的NSDateFormatter
:
[_dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
引发异常...为什么?
谢谢!
参考: http : //waracle.net/mobile/iphone-nsdateformatter-date-formatting-table/
更新:
问题似乎是字符串。 如果我对字符串进行硬编码:
NSString * string = @"2012-10-12 19:29:43";
工作正常。
我从一组键值对中读取了它,所以我这样做了:
NSString * string = [NSString stringWithFormat:@"%@", (NSString *)[[NSArray readFromPlistFile:@"latestchangesdates"] valueForKey:@"newsLastEdited"]];
控制台输出:
#1:
2012-10-12 10:16:49
#2:
( "2012-10-12 10:16:49" )
我认为问题是与数组中的字符串解析有关。
更新2:
[[[NSArray readFromPlistFile:@"latestchangesdates"] objectAtIndex:0] valueForKey:@"newsLastEdited"]]
...终于做到了。
看起来newsLastEdited
文件中的关键newsLastEdited
实际上返回的是数组而不是字符串。
该行:
NSString *string = [NSString stringWithFormat:@"%@", (NSString *)[[NSArray readFromPlistFile:@"latestchangesdates"] valueForKey:@"newsLastEdited"]];
只是将[[NSArray readFromPlistFile:@"latestchangesdates"] valueForKey:@"newsLastEdited"]
返回的值转换为NSString
。 这不会自动使返回值成为字符串。
如果改用以下命令会发生什么:
NSString *string = [[[NSArray readFromPlistFile:@"latestchangesdates"] valueForKey:@"newsLastEdited"] objectAtIndex:0];
如果我是正确的话,这将采用从newsLastEdited
键返回的数组的第一个元素。 如果可行,那么您可能应该花一些时间来了解存储在Plist文件中的数据结构。
[[[NSArray readFromPlistFile:@"latestchangesdates"] objectAtIndex:0] valueForKey:@"newsLastEdited"]]
...终于做到了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.