title: date_diff returning crazy things
body: <p>Banging my head against the wall today working with dates. 
  I am looping through a bunch of datetimes and comparing them to the current date to determine how far away they are. </p>
  
  <p>So I am returning things like 'tomorow @ 4pm' , 'yesterday at 3pm', 'today at 12pm' , '3 days ago', 'in 3 days' etc. </p>
  
  <p>It all works fine until it gets to around today/tomorow/yesterday. </p>
  
  <p>Date diff is returning silly things like -0 and +0 when it gets to these dates. 
  My theory is that dates that are lets say... 23 hours in the future, or even 10 hours in the future, even if they take place on the 'next day' are returning as 0 instead of 1. </p>
  
  <p>Unfortunately date_diff doesn't appear to return decimals or allow me to do any sort of rounding.</p>
  
  <p>Here is some sample code:</p>
  
  <pre><code>$difference = $meeting_date-&gt;diff($current_date);
  $difference = $difference-&gt;format('%R%a');
  </code></pre>
  
  <p>I then check this difference integer to see if it is 0, -1, 1, &lt; -1, or > 1.
  I handle the preceding + sign where necessary. </p>
  
  <p>The ones that are supposed to be -1 or +1, are sometimes returning as -0 or +0 (..what?)</p>
  
  <p>Also, -0 is not = 0, but is apparently less then -1 according to PHP. </p>
  
  <p>S.O.S, someone help.</p>
  
  <p>I have read all the related questions, this is not a duplicate and it is not related to that random 6015 error. Also using diff->days is not the answer.  This always returns an absolute and not negatives which would be a problem. </p>