 <p>Both dates are indeed slightly different. Quick example to show the difference:</p> <pre><code>NSDate *one = [[NSDate alloc]initWithTimeIntervalSinceNow:4000000]; NSDate *two = [[NSDate alloc]initWithTimeIntervalSinceNow:4000000]; NSComparisonResult difference = [two compare:one]; NSLog(@"Date one: %@",one); NSLog(@"Date two: %@",two); NSLog(@"Exact difference: %ld",difference); </code></pre> <p>Output:</p> <pre><code>Date one: 2012-01-03 07:47:40 +0000 Date two: 2012-01-03 07:47:40 +0000 Exact difference: 1 </code></pre> <p><strong>EDIT</strong></p> <p><code>isEqualToDate:</code> returns <code>true</code> in the following example:</p> <pre><code>NSDate *one = [[NSDate alloc]initWithTimeIntervalSince1970:4000000]; NSDate *two = [[NSDate alloc]initWithTimeIntervalSince1970:4000000]; if ([one isEqualToDate:two]) NSLog(@"Equal"); </code></pre> <p>Output:</p> <pre><code>Equal </code></pre>