私はこのような日付を解析しようとして2012-10-20T13:45:00+002
います: このコードで:
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];
出力は 13:45 ではなく 15:43 です。どんな助けでも大歓迎です。PS: iPhone で iOS5/6、Xcode 4.5 を実行しており、シミュレーターと物理デバイスの両方で試しました。