ruzD
ruzD

Reputation: 565

datetime diff negative result?

I have a php code to use calculate different of two DateTime objects, using date_diff procedure. At times the result is negative but it show positive always.

Code example:

  $time1 = new DateTime('01:00:00');
  $time2 = new DateTime('02:00:00');
  $resultTime = date_diff($time1, $time2);
  echo "RESULT: ".$resultTime->format('%h'); // 1

Im expecting -1 here, yet I always get positive 1. Is it possible to show the 'real' result, negative or positive?

Upvotes: 13

Views: 12522

Answers (1)

Pierre-Loup Pagniez
Pierre-Loup Pagniez

Reputation: 3761

$resultTime->format('%r%H:%i:%s'); is what you're looking for. %r prints a minus sign if the difference is negative, or nothing if it is positive. You can also use $resultTime->invert, which equals to 1 if the difference is negative.

Upvotes: 26

Related Questions