Iphone nsdateformatter时区问题

Iphone nsdateformatter时区问题,iphone,objective-c,nsdateformatter,Iphone,Objective C,Nsdateformatter,我有一个来自上面列出的xml的日期列表。我需要格式化和排序。我正在使用代码 "2012-01-30 00:00:00 +0000", "2012-01-31 00:00:00 +0000", "2012-02-01 00:00:00 +0000" 我得到(1月30日,1月31日,2月01日)(印度)和客户得到在美国的位置(1月29日,1月30日,1月31日) 在那之后,我更新了一些东西并设置了时区 NSDateFormatter *dateFormatter = [[NSDateFormatt

我有一个来自上面列出的xml的日期列表。我需要格式化和排序。我正在使用代码

"2012-01-30 00:00:00 +0000",
"2012-01-31 00:00:00 +0000",
"2012-02-01 00:00:00 +0000"
我得到(1月30日,1月31日,2月01日)(印度)和客户得到在美国的位置(1月29日,1月30日,1月31日)

在那之后,我更新了一些东西并设置了时区

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];  
        [dateFormatter setDateFormat:@"MMM dd"];  
         [dateFormatter stringFromDate:d];
我得到了错误的日期(1月29日,1月30日,1月31日)…我正在搜索一些其他网站,我正在设置

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"America/Los_Angeles"]];  

dateFormatter.locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]
                            autorelease];
这个代码对我有效。我不知道这个代码对其他国家有效


我需要根据国家/地区确定正确的日期…

设置解析日期的时区。格式化程序采用GMT,打印日期采用本地时区

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

我为你格式化了你的代码。下次请阅读编辑页上的说明。@请输入正确的格式字符串。包括时间和时区的标识符。那你就不会有任何问题了。你的问题是,你只考虑月和日,并截断时间和时区。使用这些,它将永远是正确的一天。
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];