Iphone dateFromString在iOS 4.2上返回nil,在3.2上运行良好!
我正在将服务器返回的字符串转换为NSDate对象以供进一步使用 以下是来自服务器的示例字符串:Iphone dateFromString在iOS 4.2上返回nil,在3.2上运行良好!,iphone,nsstring,nsdate,nsdateformatter,ios-4.2,Iphone,Nsstring,Nsdate,Nsdateformatter,Ios 4.2,我正在将服务器返回的字符串转换为NSDate对象以供进一步使用 以下是来自服务器的示例字符串:2011-01-14T16:05:48.555+05:00 并且,我使用[dateFormatter setDateFormat:@“yyyy-MM-dd'T'HH:MM:ss”] 我能够在iOS 3.2上使用dataFromString方法成功地将其转换为NSDate对象(设备和sim都有) 但是,在设备和sim卡上的iOS 4.2上,相同的代码返回nil 我还尝试了多种日期格式模式,例如: [dat
2011-01-14T16:05:48.555+05:00
并且,我使用[dateFormatter setDateFormat:@“yyyy-MM-dd'T'HH:MM:ss”]代码>
我能够在iOS 3.2上使用dataFromString方法成功地将其转换为NSDate对象(设备和sim都有)
但是,在设备和sim卡上的iOS 4.2上,相同的代码返回nil
我还尝试了多种日期格式模式,例如:
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZZ"];
[dateFormatter setDateFormat:@"YYY-MM-DD'T'HH:mm:ss.fffK"];
但是什么都不管用
我是不是遗漏了什么
编辑:我尝试对输入字符串进行硬编码,在尝试了许多变体之后,以下字符串2011-01-14T16:05:48.555+0500
与“yyyy-MM-dd'T'HH:MM:ss.SSSZ”一起工作
请注意,此字符串与服务器字符串的唯一区别是;时区值中的冒号(:)。我试图找到一种日期模式,在其中我可以在时区中提到冒号,但没有成功
有什么线索吗?我不知道你的问题的正确答案,但你可以试试这个解决方案:
您可以在服务器返回的字符串中手动删除时区值中的冒号(:),并将此字符串写入新字符串,然后使用“yyyy-MM-dd'T'HH:MM:ss.SSSZ”
源代码:
NSString *stringFromServer=@"2011-01-14T16:05:48.555+05:00";
NSString *str1 = [stringFromServer substringToIndex:26];
NSString *str2 = [stringFromServer substringFromIndex:27];
NSString *result=[NSString stringWithFormat:@"%@%@",str1,str2];
因此,如果这能奏效:
编辑:我尝试硬编码输入字符串,在尝试了许多变体之后,以下字符串2011-01-14T16:05:48.555+0500与“yyy-MM-dd'T'HH:MM:ss.SSSZ”一起工作
大宗报价
然后字符串“result”将与“yyyy-MM-dd'T'HH:MM:ss.SSSZ”一起使用。我不知道您的问题的正确答案,但您可以尝试以下解决方案:
您可以在服务器返回的字符串中手动删除时区值中的冒号(:),并将此字符串写入新字符串,然后使用“yyyy-MM-dd'T'HH:MM:ss.SSSZ”
源代码:
NSString *stringFromServer=@"2011-01-14T16:05:48.555+05:00";
NSString *str1 = [stringFromServer substringToIndex:26];
NSString *str2 = [stringFromServer substringFromIndex:27];
NSString *result=[NSString stringWithFormat:@"%@%@",str1,str2];
因此,如果这能奏效:
编辑:我尝试硬编码输入字符串,在尝试了许多变体之后,以下字符串2011-01-14T16:05:48.555+0500与“yyy-MM-dd'T'HH:MM:ss.SSSZ”一起工作
大宗报价
然后字符串“result”将与“yyyy-MM-dd'T'HH:MM:ss.SSSZ”一起使用。请参阅感谢您的提及,它很有帮助!谢谢你的提醒,这很有帮助!是的,这与马丁在评论中所说的相似。到目前为止,这是我找到的唯一有效的解决方案,但我仍在寻找更好的解决方案。是的,这与马丁在评论中所发表的类似。到目前为止,这是我找到的唯一有效解决方案,但我仍在寻找更好的解决方案。