我試圖解析這樣的日期:2012-10-20T13:45:00+002
,此代碼:的NSDate和設備的時區
NSDateFormatter* formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"];
NSDate *date = [formatter dateFromString:@"2012-10-20T13:45:00+002"];
但是當我嘗試將其輸出的設備,它的時區已經是+2使用此上:
NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init];
[dateformatter setDateFormat:@"HH:mm"];
dateformatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"ar_EG"];
cell.infoLabel.text = [dateFormatter stringFromDate:date];
輸出結果是:15:43而不是13:45,因爲它應該是。 任何幫助,將不勝感激。 PS:我在iPhone上運行iOS5/6,Xcode 4.5,並嘗試在模擬器和物理設備上使用。
的ZZZ場以分鐘爲單位,而不是幾小時表示。 –
太棒了!謝謝!這正是爲什麼!我還想知道爲什麼它提前2分鐘顯示日期。 你能告訴我什麼是正確的符號?我嘗試閱讀http://unicode.org/reports/tr35/tr35-4.html#Date_Format_Patterns,但我不確定。 – user1518779
我相信你需要在時間戳的末尾附加一對零,才能正確解析它。 –