我從NSDateFormatter得到一些奇怪的輸出。我將GMT的日期轉換爲系統時區,即EDT。這應該是格林威治標準時間的-4小時從NSDateFormatter輸出錯誤
- (的NSDate *)parseDate:(的NSString *)inStrDate {
NSLog(@"Date To Parse %@", inStrDate);
NSDateFormatter* dtFormatter = [[NSDateFormatter alloc] init];
[dtFormatter setLocale:[NSLocale systemLocale]];
[dtFormatter setTimeZone:[NSTimeZone systemTimeZone]];
[dtFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss +0000"];
NSDate* dateOutput = [dtFormatter dateFromString:inStrDate];
NSLog(@"Parsed Date %@ %@", dateOutput, [NSTimeZone systemTimeZone]);
return dateOutput;
}
日誌輸出:
2012年9月15日22:32:53.358日期要解析2012-09-16 02:32:53 +0000 2012-09-15 22:32:53.360解析日期2012-09-16 06:32:53 +0000美國/紐約(EDT)偏移-14400(日光)
但它返回+4小時而不是-4。因此,它應該輸出22.30美元(格林威治標準時間02.30),實際上它將於美國東部時間06.30返回。未來8小時。
任何人都可以幫助我理解,如果我在這裏的某個地方出錯了嗎?我抓我的頭,但我不明白爲什麼這似乎無法正常工作。
謝謝
不錯,謝謝。 –