3

我有一个奇怪的问题。将我的 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 服务中将它作为字符串取回。网络服务返回以下内容

"date": "30/06/2012"

有人知道这是怎么可能的吗?

提前致谢

编辑

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

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

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

我怎样才能做到这一点?

提前致谢 !

4

1 回答 1

6

添加以下内容:

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

实际上数据所在的时区。

于 2012-10-08T21:32:08.343 回答