title: Why NSDate's dateWithTimeIntervalSince1970 modifies its input?
body: <p>I'm running the following code:</p>
  
  <pre><code>for (int i = 0; i &lt; 100; ++i) {
    NSDate *date = [NSDate date];
    NSTimeInterval interval = date.timeIntervalSince1970;
    NSDate *newDate = [NSDate dateWithTimeIntervalSince1970:interval];
  
    if (![date isEqualToDate:newDate]) {
      NSLog(@"Not equal!");
    }
  }
  </code></pre>
  
  <p>Surprisingly, in many iterations the dates are not equal to each other. How can that be?</p>