我有一个 NSDate 格式化程序,它应该从字符串创建一个 NSDate 并返回它的格式。问题是从 String 转换为 NSDate 的结果是错误的,更大的问题是在 iPhone OS 3.1.2 上它返回 null 而在模拟器中它返回一个错误的日期。
//start formating date
NSMutableString *rawNewsDate = [NSMutableString stringWithString:@"Wed, 3 Feb 2010 14:47:11 CET"];
[rawNewsDate replaceOccurrencesOfString:@" CET" withString:@"" options:0 range:NSMakeRange(0, [rawNewsDate length])];
// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EEE, d MMM YYYY HH:mm:ss"];
NSDate *date = [dateFormat dateFromString:rawNewsDate];
[dateFormat setDateFormat:@"d.M.YYYY | HH:mm"];
NSString *formatedDate = [dateFormat stringFromDate:date];
NSLog(@"Formated Date %@", formatedDate);
[dateFormat release];
在控制台的模拟器上,运行代码后,从字符串转换的NSDate是2009-12-23 14:47:11 +0200,格式化后的NSDate是23.12.2009 | 14:47。
在控制台中的设备上,从字符串转换的 NSDate 为空,格式化后的也是空的。
结果应该是 03.02.2010 | 14:47。
任何指针?谢谢