2
我簡單嘗試重新日期:NSDateFormatter只適用於模擬器?
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
NSDate *date = [[NSData alloc] init];
//Mon, 05 Apr 2010 14:27:48 -0700
[formatter setDateFormat:@"E, dd MMM yyyy HH:mm:ss Z"];
date = [formatter dateFromString:self.currentItemValue];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
self.currentItem.pubDate = [formatter stringFromDate:date];
[formatter release];
它的工作原理在模擬器,但在設備上我只得到(空)。
感謝您的幫助!
一些測試:
NSString *string = @"Fri, 12 Dec 2008 18:45:15 -0800";
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
dateFormatter setDateFormat:@"EEE, d MMM yyyy HH:mm:ss Z"];
NSDate *date = [dateFormatter dateFromString:string];
[dateFormatter setDateStyle:NSDateFormatterLongStyle];
//here i got (null) on the device but it works on simulator...
NSLog(@"date %@", [dateFormatter stringFromDate:date]);
設備設置了哪些區域? – DyingCactus 2010-04-09 15:06:22
我嘗試別的..我編輯我的問題... – phx 2010-04-09 16:55:51
在設備上的設置,常規,國際下,區域格式設置爲什麼?如果它不是英文區域,則需要在日期格式化程序中使用setLocale方法,並將其設置爲en_US,以便它可以解析輸入字符串中的英文日期和月份名稱。例如,請參閱http://stackoverflow.com/questions/1559182/how-do-you-interpret-dates-with-nsdateformatter/1559284#1559284。 – DyingCactus 2010-04-09 17:50:21