
我想将此日期字符串转换为日期.
这是我的代码:
- (voID)vIEwDIDLoad{ [super vIEwDIDLoad]; // Do any additional setup after loading the vIEw,typically from a nib. Nsstring *inputstring=@"Mon,3 sep 2012 08:32:39 +0580"; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"EEE,dd MMM yyyy HH:mm:ss ZZZ"]; [dateFormatter setLenIEnt:YES]; NSLocale *enUS = [[NSLocale alloc]initWithLocaleIDentifIEr:@"en_US"]; [dateFormatter setLocale:enUS]; NSDate *result = [dateFormatter dateFromString:inputstring]; NSLog(@"test==%@",result);} 我得到输出null.
例外输出:2012-09-03 03:02:39 0000
解决方法 第一个问题:您没有尝试读取字符串上的“Tue”. (将“EEE”添加到格式的前面)第二个也是更大的问题:0580不是有效的时区.几年前有一个PHP错误错误地将IST(0530)作为0580返回.0580毫无意义.这意味着5小时80分钟.因此,您可以执行以下两项 *** 作之一:在处理之前将0580替换为0530或将日期格式化程序时区设置为IST并从字符串中删除0580.
我看到你接受了另一个答案,但那个答案“有效”,因为它无法解析最后一部分并忽略了时区.我跑了它得到2013-07-09 08:32:38 0000(这与2013-07-09 08:32:39 0580不一样)
删除接受的答案格式会导致格式化程序正确解析,但由于时区无效,您将获得null.将时区更改为0530可得到2013-07-09 03:02:39 0000的预期结果
总结以上是内存溢出为你收集整理的ios – 如何将邮件服务器日期字符串转换为nsdate全部内容,希望文章能够帮你解决ios – 如何将邮件服务器日期字符串转换为nsdate所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)