2

間違った時間をリストしているRSSパーサーを使用しています。東部標準時は、RSSイベントの実際の時刻より1時間遅れて表示されます。そこで、コードでこれを調整して、TableViewのcellForIndexAtPathRowメソッドで正しい時刻が表示されるようにする方法を見つけようとしています。これが私が使用しているコードです:

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を引くのに最適な方法は何だと思いますか?

4

1 に答える 1

0

次のように、解析された日付から1時間を引くことができます。

NSDateFormatter * dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setTimeStyle:NSDateFormatterMediumStyle];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
NSDate *correctedDate = [entry.articleDate addTimeInterval:-3600*1];
NSString *articleDateString = [dateFormatter stringFromDate:correctedDate];

ただし、本当の問題はRSSパーサーにあると思います。私はそれがあなたのローカルタイムゾーンに変換しているに違いない。しかし、実際のarticleDateString値を見ないと確信が持てません。

于 2012-09-12T03:28:24.563 に答える