$earlier = new DateTime("2010-07-06"); $later = new DateTime("2010-07-09"); $pos_diff = $earlier->diff($later)->format("%r%a"); //3 $neg_diff = $later->diff($earlier)->format("%r%a"); //-3