2
我使用一個RSS解析器列出時間錯誤。東部標準時間顯示比RSS事件的實際時間晚1小時。所以,我想弄清楚如何在代碼中調整它,以便在TableView的cellForIndexAtPathRow方法中顯示正確的時間。這裏是我使用的代碼:iPhone調整NSDate的時間
NSDateFormatter * dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setTimeStyle:NSDateFormatterMediumStyle];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
NSString *articleDateString = [dateFormatter stringFromDate:entry.articleDate];
的entry.articleDate來自RSS解析器早些時候返回:
NSString *articleDateString = [item valueForChild:@"updated"];
NSDate *articleDate = [NSDate dateFromInternetDateTimeString:articleDateString formatHint:DateFormatHintRFC3339];
你認爲什麼是採取的HH部分的最佳方式只有字符串,並從它減去1?
NSTimeInterval secondsforOneHour = 60 * 60; NSDate * dateoneHourAhead = [articleDate dateByAddingTimeInterval:secondsforOneHour]; – Bala 2012-04-26 15:09:38
加入'[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@「neededTimezone」]]'你應該很好。 – Eimantas 2012-04-26 15:20:04
Eimantas答案效果最好。由於中央時間正確,我只需將時區設置爲美國/芝加哥,並且無論用戶身在何處,它都會顯示正確的時間。謝謝! – user717452 2012-04-26 15:40:46