1

I have a date string like this (ISO 8601 combined date and time representation or RFC 3339):

2010-09-04T19:13:00Z

But how do I configure the NSDateFormatter to accept this timezone format?

Cœur
  • 37,241
  • 25
  • 195
  • 267
Neigaard
  • 3,726
  • 9
  • 49
  • 85

2 Answers2

0
[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'];
tidwall
  • 6,881
  • 2
  • 36
  • 47
0

Have a look here about what Apple recommends:

// 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];
Cœur
  • 37,241
  • 25
  • 195
  • 267
epatel
  • 45,805
  • 17
  • 110
  • 144