我使用列出时间错误的RSS Parser。东部标准时间比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 Parser:
NSString *articleDateString = [item valueForChild:@"updated"];
NSDate *articleDate = [NSDate dateFromInternetDateTimeString:articleDateString formatHint:DateFormatHintRFC3339];
您认为仅采用字符串的HH部分的最佳方法是什么,并从中减去1?
答案 0 :(得分:0)
您可以简单地从解析日期中减去一小时,如下所示:
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
值,我无法确定。