NSDateFormatter每天返回一个日期

Man*_*nsi 8 iphone objective-c nsdateformatter ipad

在我的iPhone应用程序中,我试图从Web服务收到的日期字符串中获取EEE MMM dd.

对于时间<07:00的所有日期,NSDateFormatter将日期关闭1天.例如:格式化日期:2010-11-17T05:00:00,格式化日期结果:11月16日星期二

这是代码片段: NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat: @"EEE MMM dd"];

NSDate *dateToFormat = [NSDate dateWithNaturalLanguageString:dateStringToFormat locale:[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]];

NSString *formattedDateString = [dateFormat stringFromDate:dateToFormat]; [dateFormat release];

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat: @"EEE MMM dd"];

NSDate *dateToFormat = [NSDate dateWithNaturalLanguageString:dateStringToFormat locale:[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]];

NSString *formattedDateString = [dateFormat stringFromDate:dateToFormat]; [dateFormat release];

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat: @"EEE MMM dd"];

NSDate *dateToFormat = [NSDate dateWithNaturalLanguageString:dateStringToFormat locale:[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]];

NSString *formattedDateString = [dateFormat stringFromDate:dateToFormat]; [dateFormat release];

可能是什么问题呢?

Wil*_*sch 10

可能与时区有关.您可能需要为NSDateFormatter对象的timeZone属性设置适当的值.

  • 这是修复:[dateFormat setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]]; (4认同)