No way DateTime::diff isn't accurate, it gets 1 hour when the difference between 2 DateTime objects is smaller, like 52 minutes etc.! Weird behavior.