2 for 2012 for_2012 于 2013.03.22 14:19 提问

NSDateFormatter给的日期出错

使用NSDateFormatter修改日期格式,结果日期比给定的日期早一天。
代码如下:

NSString *strDate = [self.mArrEventDate objectAtIndex:i];

NSString *str = [[NSString alloc] init];
str = [strDate stringByReplacingOccurrencesOfString:@"/" withString:@"-"];

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// ...using a date format corresponding to your date
[dateFormatter setDateFormat:@"dd/MM/yyyy"];

// Parse the string representation of the date
NSDate *date = [dateFormatter dateFromString:strDate];

NSDateFormatter *format1 = [[NSDateFormatter alloc]init];

[format1 setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];

[format1 setDateFormat:@"yyyy-MM-dd"];

NSString *sDate   = [format1 stringFromDate:date];

1个回答

dream238
dream238   2013.03.23 13:01
已采纳

[format1 setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
估计是时区设置不正确引起的。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!