3

DjangoAPIから時間としてNSString2012-08-17T10:56:45.508205を取得しています。

私はその文字列をNSDate次のコードでオブジェクトに変換しようとしています:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
[dateFormatter setTimeZone:timeZone];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"];
NSDate *date = [dateFormatter dateFromString:stringToConvert];

ただし、日付オブジェクトはnullです。どこが間違っているのですか?

4

1 に答える 1

6

Django API(2012-08-17T10:56:45.508205)から取得しているISO8601文字列には、タイムゾーンコンポーネントが含まれていませんただし、そのフィールドシンボル(Z)をフォーマット文字列に含めています。それを削除するだけで、正常に動作するはずです。

[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS"];

フォーマットコードの詳細については、Unicodeテクニカルリファレンスを参照してください。

于 2012-09-12T03:11:22.370 に答える