格式化NSDate后,新日期比实际日期提前一天

时间:2012-10-08 21:27:14

标签: iphone objective-c ios nsdate nsdateformatter

我有一个奇怪的问题。将我的stringDate转换为NSDate后,我的NSDate对象比实际日期少一天

-example- StringDate = 2012年6月30日---> NSDate是2012年6月29日

这是我的代码。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
    [dateFormatter setDateFormat:@"dd/MM/yyyy"];
    NSDate *date = [dateFormatter dateFromString:[genkInfo objectForKey:CALENDAR_DATE]];

我正在改变这个日期,因为我从Web服务中将其作为字符串返回。 Web服务提供以下内容

"date": "30/06/2012"

有人知道这有可能吗?

提前致谢

修改

好的,所以上面问题的解决方案是设置TimeZone

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT+0:00"]];

但现在我有另一个问题。现在格式是YYYY-MM-DD,但我想要YYYY-DD-MM

我怎样才能做到这一点?

提前致谢!

1 个答案:

答案 0 :(得分:6)

添加以下内容:

  

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@“GMT + 0:00”]];

实际上是数据所在的时区。