title: Nil NSDate when trying to get date from UTC string in zulu time
body: <p>Writing an iPhone app in Objective-C, I have a date in string form (in UTC format, with a Z on the end to denote zero UTC offset, or zulu time), which I need to parse into an <code>NSDate</code> object.<br><br>
  A bit of code:
  <pre><code>NSDateFormatter* df = [[NSDateFormatter alloc]init];
  [df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"];
  NSString* str = @"2009-08-11T06:00:00.000Z";
  NSDate* date = [df dateFromString:str];</pre></code>
  Running this through the debugger, <code>date</code> ends up <code>nil</code>!  I'm assuming it has something to do with my date format string.<br><br>How can I fix it to correctly parse the date string?<br><br>
  A thought would be to make the <code>Z</code> in the date format literal, a la setting the date format to <code>yyyy-MM-dd'T'HH:mm:ss.SSS'Z'</code>.<br><br>
  That would work, except when the Z is parsed as a literal, the date loses offset information, and so is ambiguous, and therefore interpreted to be local time.<br><br>
  For example, if the string to parse was 2009-08-11T06:00:00.000Z (6:00 zulu time) it would be interpreted as 6:00 local time, and an incorrect offset would then be applied. It would then be parsed as 2009-08-11T06:00:00.000-600 (12:00 zulu time) with the offset depending on the user's offset.<br><br>
  Thanks!</p>