3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $now = unserialize('O:8:"DateTime":3:{s:4:"date";s:19:"2013-11-26 09:15:42";s:13:"timezone_type";i:3;s:8:"timezone";s:16:"Europe/Amsterdam";}'); $date = DateTime::createFromFormat('YmdHis', '2004' . $now->format('md') . '235959'); $diff = $date->diff($now); $assert_diff = date_interval_create_from_date_string('3286 days 9 hours 15 minutes 43 seconds'); print_r($diff); print_r($assert_diff); die; print_r($now->sub($assert_diff)); die; printf( 'Got %s and expected %s', $now->sub($diff)->format(DateTime::ISO8601), $date->format(DateTime::ISO8601) );
Output for 7.1.0
DateInterval Object ( [y] => 8 [m] => 11 [d] => 30 [h] => 9 [i] => 15 [s] => 43 [f] => 0 [weekday] => 0 [weekday_behavior] => 0 [first_last_day_of] => 0 [invert] => 0 [days] => 3286 [special_type] => 0 [special_amount] => 0 [have_weekday_relative] => 0 [have_special_relative] => 0 ) DateInterval Object ( [y] => 0 [m] => 0 [d] => 3286 [h] => 9 [i] => 15 [s] => 43 [f] => 0 [weekday] => 0 [weekday_behavior] => 0 [first_last_day_of] => 0 [invert] => 0 [days] => [special_type] => 0 [special_amount] => 0 [have_weekday_relative] => 0 [have_special_relative] => 0 )
Output for 5.5.0 - 7.0.14
DateInterval Object ( [y] => 8 [m] => 11 [d] => 30 [h] => 9 [i] => 15 [s] => 43 [weekday] => 0 [weekday_behavior] => 0 [first_last_day_of] => 0 [invert] => 0 [days] => 3286 [special_type] => 0 [special_amount] => 0 [have_weekday_relative] => 0 [have_special_relative] => 0 ) DateInterval Object ( [y] => 0 [m] => 0 [d] => 3286 [h] => 9 [i] => 15 [s] => 43 [weekday] => 0 [weekday_behavior] => 0 [first_last_day_of] => 0 [invert] => 0 [days] => [special_type] => 0 [special_amount] => 0 [have_weekday_relative] => 0 [have_special_relative] => 0 )
Output for 5.3.27 - 5.3.29, 5.4.17 - 5.4.45
DateInterval Object ( [y] => 8 [m] => 11 [d] => 30 [h] => 9 [i] => 15 [s] => 43 [weekday] => 0 [weekday_behavior] => 0 [first_last_day_of] => 0 [invert] => 0 [days] => 3286 [special_type] => 0 [special_amount] => 0 [have_weekday_relative] => 0 [have_special_relative] => 0 ) DateInterval Object ( [y] => 0 [m] => 0 [d] => 3286 [h] => 9 [i] => 15 [s] => 43 [weekday] => 0 [weekday_behavior] => 0 [first_last_day_of] => 0 [invert] => 0 [days] => 0 [special_type] => 0 [special_amount] => 0 [have_weekday_relative] => 0 [have_special_relative] => 0 )
Output for 5.3.3 - 5.3.26, 5.4.0 - 5.4.16
DateInterval Object ( [y] => 8 [m] => 11 [d] => 30 [h] => 9 [i] => 15 [s] => 43 [invert] => 0 [days] => 3286 ) DateInterval Object ( [y] => 0 [m] => 0 [d] => 3286 [h] => 9 [i] => 15 [s] => 43 [invert] => 0 [days] => 0 )
Output for 5.3.0 - 5.3.2
DateInterval Object ( [y] => 8 [m] => 11 [d] => 29 [h] => 9 [i] => 15 [s] => 43 [invert] => 0 [days] => 3286 ) DateInterval Object ( [y] => 0 [m] => 0 [d] => 3286 [h] => 9 [i] => 15 [s] => 43 [invert] => 0 [days] => 0 )
Output for 5.2.10 - 5.2.17
Fatal error: Call to undefined method DateTime::createFromFormat() in /in/uJLsp on line 4
Process exited with code 255.
Output for 5.2.0 - 5.2.9
Fatal error: Call to undefined method DateTime::createfromformat() in /in/uJLsp on line 4
Process exited with code 255.
Output for 5.0.0 - 5.1.6
Fatal error: Class 'DateTime' not found in /in/uJLsp on line 4
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /in/uJLsp on line 15
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_OBJECT_OPERATOR in /in/uJLsp on line 15
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/uJLsp on line 15
Process exited with code 255.