3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php function getDiffInHours(\DateTime $earlierDate, \DateTime $laterDate) { $utc = new \DateTimeZone('UTC'); //Avoid side effects $first = clone $earlierDate; $second = clone $laterDate; //First convert to UTC to avoid missing hours due to DST etc $first->setTimezone($utc); $second->setTimezone($utc); $diff = $first->diff($second); return 24 * $diff->days + $diff->h; } $hours = getDiffInHours(new \DateTime(), new \DateTime('+ 31 hours')); var_dump($hours); //31
Output for 5.3.0 - 7.1.0
int(31)
Output for 5.2.0 - 5.2.17
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/ZBYZG on line 2 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/ZBYZG on line 2 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/ZBYZG on line 4 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/ZBYZG on line 15 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/ZBYZG on line 15 Fatal error: Call to undefined method DateTime::diff() in /in/ZBYZG on line 11
Process exited with code 255.
Output for 5.0.0 - 5.0.5, 5.1.1 - 5.1.6
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/ZBYZG on line 2 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/ZBYZG on line 2 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/ZBYZG on line 4 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/ZBYZG on line 15 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/ZBYZG on line 15 Fatal error: Class 'DateTime' not found in /in/ZBYZG on line 15
Process exited with code 255.
Output for 5.1.0
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/ZBYZG on line 2 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/ZBYZG on line 2 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/ZBYZG on line 4 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/ZBYZG on line 15 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/ZBYZG on line 15 Fatal error: fatal flex scanner internal error--end of buffer missed in /in/ZBYZG on line 16
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/ZBYZG on line 2 Parse error: syntax error, unexpected T_STRING, expecting ')' in /in/ZBYZG on line 2
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/ZBYZG on line 2 Parse error: parse error, unexpected T_STRING, expecting ')' in /in/ZBYZG on line 2
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/ZBYZG on line 2 Parse error: parse error, expecting `')'' in /in/ZBYZG on line 2
Process exited with code 255.