私はこのコードブロックをISO 8601の日付/時刻指定で読みます。問題は何らかの理由で月が効かないことです。私がそれを月に変換するたびに "01"です。私は間違って何をしていますか?NSDateFormatterの月が間違っているようです
NSDateFormatter *UTCDateFormat = [[NSDateFormatter alloc] init];
[UTCDateFormat setDateFormat:@"yyyy-MM-DD'T'HH:mm:ss'Z'"];
[UTCDateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
[UTCDateFormat setCalendar:[[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease]];
[UTCDateFormat setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];
NSLog(@"%@", [UTCDateFormat dateFromString:dateString]);
ので、例えば、日付ストリングだった場合:
@"2002-03-12T21:13:27Z"
私の出力は次のようになります。私はすでに試してみました
2002-01-12 21:13:27 +0000
もの:
- にMMを変更しますLL
- setCalendar/setLocaleを使わずに試してみた
- 「
- の周りを他の場所に回してみました。何も変わらない。
- SOのすべてを見て、他の人にとってはうまくいくように見えます。
です。これは何も変わらないかもしれませんが、 'DD'フォーマット指定子は' dd'でなければなりません。 – dasblinkenlight