我在iPhone應用程序中工作。我從webservice響應獲取日期。當我收到我在NSArray中存儲的日期。當我將NSString更改爲NSDate時,日期返回null。這裏是我的代碼,NSDateFormatter返回空值dateFromString:iPhone?
for (int k = 0; k<[dateArray count]; k++)
{
NSString *dateStr = [dateArray objectAtIndex:k];
NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];
[dateFormatter1 setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
[dateFormatter1 setFormatterBehavior:NSDateFormatterBehaviorDefault];
[dateFormatter1 setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSLog(@"DateStr : %@", dateStr); //Console Output is : 2012-07-09 13:50:07 [For 42nd and above values]
NSDate *date = [dateFormatter1 dateFromString:dateStr];
NSLog(@"Date : %@", date); // Console Output is : (null) [For 42nd and above values]
}
dateArray包含來自Webservice的43個日期值。 NSDateFormatter returns correct NSDate from NSString til 41nd values
。當42nd string passing to the NSDateFormatter the output returns "(null)".
我試過當日期再次返回空我再次轉換dateFromString "(null)"
錯誤發生。任何人都可以請幫我解決這個問題嗎?提前致謝。
第42個值中的字符串是什麼?你有沒有檢查過它是一個有效的日期和正確的格式? – 2012-07-10 15:02:37
@NickBull謝謝。這是數組「2012-07-09 13:50:07」中的字符串。我已將這個值並轉換爲NSDate在類中的其他位置使用相同的NSDateFormatter。它返回確切的NSDate。這是有效的。你能幫我解決這個問題嗎?謝謝。 – Gopinath 2012-07-10 15:04:33
在NSDate * date = [dateFormatter1 dateFromString:dateStr]之前的行中添加'NSLog(@「DateStr:%@」,dateStr);'然後使用控制檯輸出編輯您的問題 – 2012-07-10 15:07:51