我在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