フォーマット文字列は近いですが、SSSでミリ秒を指定したい 、も:
[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSX"];
また、Z 日付文字列では「Zulu」(つまり、GMT / UTC)を表すため、dateFormat Zを使用する必要があります またはX 文字列のタイムゾーンを正しく解析するために、引用符は使用しません。また、日付から文字列を作成する場合は、それに応じてタイムゾーンを設定してください。ロケールも設定する必要があります:
NSLocale *enUSPOSIXLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.locale = enUSPOSIXLocale;
formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSSX";
formatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];
テクニカルQ&AQA1480 を参照してください。 詳細については。
新しいNSISO8601DateFormatterを使用することもできます 、これらの雑草のいくつかからあなたを導きます:
NSISO8601DateFormatter *formatter = [[NSISO8601DateFormatter alloc] init];
formatter.formatOptions = NSISO8601DateFormatWithFullDate | NSISO8601DateFormatWithFullTime | NSISO8601DateFormatWithFractionalSeconds;