ISO 8601/RFC 3339 TimeZoneをNSDateFormatterで解析するにはどうすればよいですか?
-
30-09-2019 - |
質問
私はこのような日付文字列を持っています(ISO 8601日付と時刻表現の組み合わせ またはRFC 3339):
2010-09-04T19:13:00Z
しかし、このTimeZone形式を受け入れるようにNSDateFormatterを構成するにはどうすればよいですか?
解決
見てください ここ Appleが推奨するものについて:
// Convert the RFC 3339 date time string to an NSDate.
NSDateFormatter *rfc3339DateFormatter = [[[NSDateFormatter alloc] init] autorelease];
NSLocale *enUSPOSIXLocale = [NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"];
[rfc3339DateFormatter setLocale:enUSPOSIXLocale];
[rfc3339DateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"];
[rfc3339DateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSDate *date = [rfc3339DateFormatter dateFromString:rfc3339DateTimeString];
他のヒント
[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehavior10_4];
NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSDate *date = [formatter dateFromString:'2010-09-04T19:13:00Z'];
所属していません StackOverflow