本文介绍了iPhone SDK NSString到NSDate的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我从解析XML文件中得到一个字符串,如下所示:Fri,2010年04月09日00:00:45 +0200 ,相应的模式应该是EEE,dd MMM yyyy HH:mm: ss ZZ,但我得到(null)。
这是我的代码:
code> NSString * dateString = @Fri,09 Apr 2010 00:00:45 +0200; NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@EEE,dd MMM yyyy HH:mm:ss ZZ]; NSDate * date = [dateFormatter dateFromString:dateString]; NSLog(@date:%@,date); //结果日期:(null)编辑:
这对我来说是有效的,我不得不切换到en-US语言环境:
NSLocale * usLocale = [[ NSLocale alloc] initWithLocaleIdentifier:@en-US]; NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setLocale:usLocale]; [dateFormatter setDateFormat:@EEE,dd MMM yyyy HH:mm:ss ZZ]; NSDate * date = [dateFormatter dateFromString:dateString];解决方案
当我改变了这一行,你的代码对我有用:
[dateFormatter setDateFormat:@EEE,dd MMM yyyy HH:mm:ss ZZ];到这一行:
[dateFormatter setDateFormat:@EEE','dd MMM yyyy HH:mm:ss ZZ];
I got a string from parsing a XML file which looks like this: Fri, 09 Apr 2010 00:00:45 +0200 and the corresponding pattern should be this "EEE, dd MMM yyyy HH:mm:ss ZZ", but I get (null).
This is my code:
NSString *dateString = @"Fri, 09 Apr 2010 00:00:45 +0200"; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss ZZ"]; NSDate *date = [dateFormatter dateFromString:dateString]; NSLog(@"date:%@",date); // result date:(null)Edit:
This works for me now, I had to switch to en-US locale:
NSLocale* usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en-US"]; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setLocale:usLocale]; [dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss ZZ"]; NSDate *date = [dateFormatter dateFromString:dateString];解决方案
Your code worked for me when I changed this line:
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss ZZ"];to this line:
[dateFormatter setDateFormat:@"EEE',' dd MMM yyyy HH:mm:ss ZZ"];
更多推荐
iPhone SDK NSString到NSDate
发布评论