-1

重複の可能性:
ISO8601タイムスタンプをフォーマットされたNSDateに変換する簡単な方法はありますか?
ISO 8601タイムスタンプをNSDateに変換する:UTCタイムオフセットをどのように処理しますか?

ISO8601形式の日時を現地時間に変換しようとしています。これを変換します:

2012-10-15T09:46:16+02:00

これに:

2012-10-15 11:46:16

私は次のコードを試しますが、nullを返します

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"];
NSDate *dt = [dateFormatter dateFromString:@"2012-10-15T09:46:16+02:00"];
NSString *dateTime= [NSDateFormatter localizedStringFromDate:dt dateStyle:NSDateFormatterShortStyle timeStyle:NSDateFormatterShortStyle];
NSLog(@"DATE FORMAT:%@", dateTime);

私が間違っていることは何ですか?

4

1 に答える 1

2

ISO8601DateFormatterを使用する必要があります。これのために設計されたクラスです。使用している日付形式は、NSDateFormatter日付形式の1つの形式だけに制限されていません。ISO8601DateFormatterは、ISO8601である限り、日付形式をすでに識別して解析しています。http://boredzo.org/iso8601unparser/

于 2012-10-16T13:48:26.443 に答える