3v4l.org

run code in 300+ PHP versions simultaneously
<?php date_default_timezone_set('UTC'); $begin = new \DateTime('2012-06-25'); $end = new \DateTime('2012-07-27'); $interval = $begin->diff($end); $c = $interval; $seconds = (($end->getTimestamp()) - ($begin->getTimestamp())); // for DateTimeInterface::add() $base = new \DateTimeImmutable('2012-07-02'); $end = new \DateTime('2012-08-03'); $interval = $base->diff($end); $target = $base->add($interval); $comparison = ((new \DateTime())->setTimestamp((($base->getTimestamp()) + $seconds))); var_dump($target->format('Y-m-d')); var_dump($comparison->format('Y-m-d')); // for DateTimeInterval::sub() $base = new \DateTimeImmutable('2012-08-03'); $target = $base->sub($interval); $comparison = (new \DateTime())->setTimestamp($base->getTimestamp() - $seconds); var_dump($target->format('Y-m-d')); var_dump($comparison->format('Y-m-d')); var_dump($seconds, $interval, $c);
Output for git.master, git.master_jit, rfc.property-hooks
string(10) "2012-08-03" string(10) "2012-08-03" string(10) "2012-07-02" string(10) "2012-07-02" int(2764800) object(DateInterval)#2 (10) { ["y"]=> int(0) ["m"]=> int(1) ["d"]=> int(1) ["h"]=> int(0) ["i"]=> int(0) ["s"]=> int(0) ["f"]=> float(0) ["invert"]=> int(0) ["days"]=> int(32) ["from_string"]=> bool(false) } object(DateInterval)#3 (10) { ["y"]=> int(0) ["m"]=> int(1) ["d"]=> int(2) ["h"]=> int(0) ["i"]=> int(0) ["s"]=> int(0) ["f"]=> float(0) ["invert"]=> int(0) ["days"]=> int(32) ["from_string"]=> bool(false) }

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
62.22 ms | 402 KiB | 8 Q