Translate

2013年2月21日 星期四

NSDateFormatter to NSDate to NSString are null

在解析RSS發生的問題
在RSS裡面的key值pubdate是Wed, 20 Feb 2013 00:00:00 GMT
這樣的表示方式
但是業主希望能呈現為2013-02-20
神奇的是
我在模擬器上可以取得轉換後的值
但是時機上卻不可以
最後才發現一個重點
就是要在一開始轉換的時候要加上時區

NSString *date_str = [id_news objectForKey:@"pubdate"]; NSLog(@"date_str is %@",date_str); NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; [dateFormatter setLocale:usLocale]; [dateFormatter setDateFormat:@"EEE, dd MMMM yyyy HH:mm:ss Z"]; [dateFormatter dateFromString:date_str]; NSDate *date = [dateFormatter dateFromString:date_str]; NSLog(@"date is %@",date); NSDateFormatter *form = [[NSDateFormatter alloc] init]; [form setDateFormat:@"yyyy-MM-dd"]; NSString *dateStr = [NSString stringWithFormat:@"%@", [form stringFromDate:date]]; NSLog(@"dateStr is %@",dateStr); 2013-02-21 16:42:00.943 Tainan[3246:4d1b] date_str is Wed, 20 Feb 2013 00:00:00 GMT 2013-02-21 16:42:00.948 Tainan[3246:4d1b] date is 2013-02-20 00:00:00 +0000 2013-02-21 16:42:00.950 Tainan[3246:4d1b] dateStr is 2013-02-20

沒有留言:

張貼留言