ios – 如何将邮件服务器日期字符串转换为nsdate

ios – 如何将邮件服务器日期字符串转换为nsdate,第1张

概述我这样得到日期字符串形式的邮件服务器.星期四,2009年12月31日14:32:15 0580. 我想将此日期字符串转换为日期. 这是我的代码: - (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. 我这样得到日期字符串形式的邮件服务器.星期四,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所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1054095.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存