Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSDateFormatter未将字符串转换为日期_Objective C_Nsdateformatter_String To Datetime - Fatal编程技术网

Objective c NSDateFormatter未将字符串转换为日期

Objective c NSDateFormatter未将字符串转换为日期,objective-c,nsdateformatter,string-to-datetime,Objective C,Nsdateformatter,String To Datetime,我正在使用NSDateFormatter将字符串转换为日期。但是,返回的日期为零。 只有我的硬编码字符串导致了这个问题。当我使用stringFromDate:并将此NSString转换为NSDate时,一切正常 硬编码日期: 2012-30-22T10:30:19+0530 dateFromString: 2012-04-27T10:20:43+0530 我看不出日期格式有什么不同 代码: NSDateFormatter *dateFormatter = [[NSDateFormatter al

我正在使用NSDateFormatter将字符串转换为日期。但是,返回的日期为零。 只有我的硬编码字符串导致了这个问题。当我使用stringFromDate:并将此NSString转换为NSDate时,一切正常

硬编码日期:
2012-30-22T10:30:19+0530
dateFromString:
2012-04-27T10:20:43+0530

我看不出日期格式有什么不同

代码:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZ"];

NSString *string = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"string %@", string);  
日志:~string 2012-04-27T10:20:43+0530

NSDate *date = [dateFormatter dateFromString:string];
NSLog(@"date %@", date);
//Here comes the problem. 
NSDate *date2 = [dateFormatter dateFromString:string2];
NSLog(@"date 2 %@", date2);
日志:~日期2012-04-27 04:50:43+0000

到目前为止还不错。从我的字符串返回日期。但是当我尝试使用我自己输入的日期时

NSString *string2 = @"2012-30-22T10:30:19+0530";
NSLog(@"string2 %@", string2);
日志:~日期2012-04-27 04:50:43+0000

NSDate *date = [dateFormatter dateFromString:string];
NSLog(@"date %@", date);
//Here comes the problem. 
NSDate *date2 = [dateFormatter dateFromString:string2];
NSLog(@"date 2 %@", date2);
日志:~日期2(空)


为什么这个日期是空的,而另一个日期不是空的

月内30点是您自己输入的字符串中的输入错误吗?它可能搞砸了,因为它不知道30个月。尝试键入您自己的有效日期。

您自己输入的字符串中的30点是否为输入错误?它可能把事情搞砸了,因为它不知道30个月。我想一定是这样。真不敢相信我自己没发现。实际上我并没有手动输入这个字符串。它来自服务器。我猜服务器出问题了。把它作为答案贴出来,我会把它标记为正确的。当然,我看不出还有什么错。但我的mac电脑不能很快检查。它似乎工作正常。我刚把“30”改为“01”,它给出了一个有效日期。