2009-10-16 84 views
6

好日子,NSDateFormatter dateFromString不會解析特定日期字符串

我有一個NSDateFormatter似乎並不喜歡我試圖轉換一個特定的字符串。這個特殊的例子是

2009-10-16T09:42:24.999605 

我所有的其他日期格式都是一樣的,可以解析。

以下是將string轉換爲NSDate的代碼。

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

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

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

order.ModifiedAtDatedateFromString調用之後。

是否有其他人遇到過他們的日期無法轉換爲NSDates的情況?

感謝,

回答

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

我懷疑你能更詳細地瞭解它爲什麼與亞秒級故障現場使用此功能,因爲它看起來像它做同樣的事情,但返回的錯誤信息:

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

無論如何,希望這會讓你重新開始。

1

你應該嘗試小寫字母 「S」,在小數的地方,像這樣:

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

它爲我工作。