フォーマット文字列は近いですが、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;