title: iOS 7: Convert NSDate to string with custom timezone and get back new NSDate
body: <p>I wish to modify current system time (set a custom <code>NSTimeZone</code>) and get back a new <code>NSDate</code> object. </p>
  
  <h2>The code I've made</h2>
  
  <pre><code>NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
  [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];
  NSLog(@"System time: %@", [dateFormatter stringFromDate:[NSDate date]]);
  [dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"Asia/Aqtobe"]];
  NSString *dateString = [dateFormatter stringFromDate:[NSDate date]];
  NSLog(@"Aqtobe time: %@", dateString);
  </code></pre>
  
  <h2>The output</h2>
  
  <pre><code>System time: 2014-02-05 10:00:46 +0000
  
  Aqtobe time: 2014-02-05 15:00:46 +0500
  </code></pre>
  
  <p>But if I try to get new NSDate object from Aqtobe time:</p>
  
  <pre><code>NSLog(@"New NSDate: %@", [dateFormatter dateFromString:dateString]);
  </code></pre>
  
  <p>I get </p>
  
  <pre><code>New NSDate: 2014-02-05 10:02:40 +0000
  </code></pre>
  
  <p>Where I was wrong? Thanks in advance</p>