2012-01-10 49 views
0
"2012-01-30 00:00:00 +0000", 
"2012-01-31 00:00:00 +0000", 
"2012-02-01 00:00:00 +0000" 

日期從XML以上。我列出的清單需要格式化和sort..i正在使用的代碼nsdateformatter時區發出

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; 
     [dateFormatter setDateFormat:@"MMM dd"]; 
     [dateFormatter stringFromDate:d]; 

我得到(1月30日,揚31年2月1)(印度)和客戶端在美國到處(1月29日,1月30日,1月31日)..

之後,我更新的東西,我設置時區..

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

dateFormatter.locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] 
          autorelease]; 

我收到錯誤的日期(01月29日,1月30日,1月31日)......和我正在尋找一些其他網站,我設置

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

此代碼對我的作品。我不知道這個代碼適用於其他國家

我需要正確的日期取決於各國...

+0

我爲您格式化了您的代碼。請閱讀下次編輯頁面上的說明。 – 2012-01-10 05:56:55

+1

@Rams輸入正確的格式字符串。包括時間和時區的標識符。那麼你不會有任何問題。你的問題是,你只是採取月份和日期,並截斷時間和時區。使用這些,它將永遠是正確的一天。 – 2012-01-10 06:02:04

回答

0

設置爲您解析日期的時區。格式化程序假定格林威治標準時間,並且您打印的日期假定您的本地時區。

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];