iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 如何将邮件服务器日期字符串转换为nsdate大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我这样得到日期字符串形式的邮件服务器.星期四,2009年12月31日14:32:15 0580.
我想将此日期字符串转换为日期.

这是我的代码

- (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所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: