繁体   English   中英

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

[英]NSDateFormatter dateFromString will not parse a particular date string

美好的一天,

我有一个NSDateFormatter似乎不喜欢我想要转换的特定字符串。 这个特殊的例子是

2009-10-16T09:42:24.999605

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

这是在NSDate中转换string的代码。

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

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

[order setModifiedAtDate:[dateFormatter dateFromString:[orderDataDictionary valueForKey:@"ModifiedAt"]]];

order.ModifiedAtDate 为零dateFromString通话。

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

谢谢,

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

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];

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

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 :

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

您应该在小数位置尝试小写“s”,如下所示:

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

它对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM