正常工作,我有以下日期:2011-04-29T14:54:00-04:00NSDateFormatter不与UTC
当它运行时通过下面的代码将其转换为一个日期,日期为null出于某种原因:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSDate *date = [dateFormatter dateFromString:localDate];
[dateFormatter release];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-mm-dd"];
NSLog(@"%@", [formatter stringFromDate:date]);
任何帮助,将不胜感激
解决:
好吧,我想通了。出于某种原因,此方法不起作用。
NSDate *date = [dateFormatter dateFromString:localDate];
这反而有效。希望它能帮助别人!
NSError *error = nil;
NSDate *date = nil;
[dateFormatter getObjectValue:&date forString:localDate range:nil error:&error];
哪一个是空的?您尝试在最后登录的字符串或从第一个日期格式化程序获取的日期?另外,你的第二种格式看起来很奇怪:你真的想要“四位数分钟 - 一天”吗? – 2011-04-30 00:13:26
当我停在NSLog行的断点处时,date变量为nil。我只是把这个四位数的年 - 分 - 日作为一个测试,把它写回字符串。 – 2011-04-30 01:22:56