2
我想從NSString轉換爲NSDate使用getObjectValue:forString:range:error:
。該函數返回成功並且沒有錯誤,但返回的日期不正確。NSDateFormatter - getObjectValue:forString:範圍:錯誤:返回不正確的日期
具體而言,我將@"1989-12-31T00:00:00+00:00"
傳遞給下面的函數,返回的日期是1970-01-01 00:00:000 +0000
。有什麼想法嗎?
+ (NSDate *) convertStringToDate:(NSString *) dateString
{
NSDate* date = nil;
NSError* error = nil;
NSRange range = NSMakeRange(0, [dateString length]);
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
BOOL success = [dateFormatter getObjectValue:&date forString:dateString range:&range error:&error];
[dateFormatter release];
return success ? date : nil;
}
在此先感謝。
感謝您的回覆。這個解決方案的問題是(1)我不能保證日期的格式(所以我相信我必須使用getObjectValue:forString:range:error :)。 (2)在問題中顯示的示例中,如果我想明確設置日期格式,則必須刪除dateString中的最後一個「:」。 NSDateFormat似乎並不期望最後的「:」。這可能是一個錯誤。 – 2011-05-29 14:46:36
@Tolu Fapohunda關於2.我認爲有修飾符的組合允許這樣做。文檔並不是非常簡單,所以只需要很少的實驗。 – TheBlack 2011-05-29 21:03:39