我很难解析类型为3\/3\/2012 12:00:00 AM
的日期字符串。我有以下代码:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
formatter.dateFormat = @"MM/d/YYYY hh:mm aaa";
conference.beginDate = [formatter dateFromString:[jsonElement valueForKey:@"BeginDateMember"]];
但遗憾的是,我的所有beginDate
都是null
。
我不确定是否:a)我需要以格式包含转义反斜杠,b)我指定的语言环境错误,c)我指定格式错误,或者d)上面的某些组合。
这是一种有些非标准的日期格式,因此感谢您的帮助。
答案 0 :(得分:1)
你可以试试这个:
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/d/YYYY hh:mm aaa"]; //notice the change here ..
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]]; //.. and here
conference.beginDate = [formatter dateFromString:[jsonElement valueForKey:@"BeginDateMember"]];
[dateFormatter release];
如果仍然为null,请确保您的jsonElement实际上有值。
答案 1 :(得分:0)
你的格式看起来有点偏差:
formatter.dateFormat = @"MM/d/yyyy hh:mm a";
您可以找到支持的格式here列表。
此外,如果您未使用ARC
而不是autorelease
NSLocale
:
formatter.locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease];