NSDateFormatter dateFromString不会解析特定的日期字符串

cni*_*com 6 iphone nsdate nsdateformatter

美好的一天,

我有一个NSDateFormatter似乎不喜欢我试图转换的特定字符串.这个特殊的例子是

2009-10-16T09:42:24.999605
Run Code Online (Sandbox Code Playgroud)

我的所有其他日期格式相同,可以解析.

这是转换string中的代码NSDate.

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];

[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSSSS"];

[order setModifiedAtDate:[dateFormatter dateFromString:[orderDataDictionary valueForKey:@"ModifiedAt"]]];
Run Code Online (Sandbox Code Playgroud)

order.ModifiedAtDate电话结束后是dateFromString.

有没有其他人遇到他们的日期无法转换成的情况NSDates

谢谢,

Eps*_*ime 7

我可以通过从格式化程序中删除亚秒字段来获取解析日期:

NSString *test = @"2009-10-16T09:42:24.999605";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
NSDate *testOut = [dateFormatter dateFromString:test];
Run Code Online (Sandbox Code Playgroud)

我怀疑你可以更详细地找到为什么它使用这个函数的亚秒字段失败,因为看起来它做同样的事情,但返回错误消息:

http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/Reference/Reference.html#//apple_ref/occ/instm/NSDateFormatter/getObjectValue:forString:range:error :

无论如何,希望这会让你再次前进.