3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $userTimezone = new \DateTimeZone('Europe/Helsinki'); $from = new \DateTime( 'now', $userTimezone ); $from->modify( 'first day of this month' ); //$from->sub( new \DateInterval( 'P5D' ) ); $from->setTime(0,0,0); $from->setTimezone( new \DateTimeZone( 'UTC' ) ); $from2 = clone $from; $timezone = $from2->getTimestamp(); var_dump($from); var_dump($from2);
based on HhZuG
Output for 5.6.28, 7.0.14 - 7.1.0
object(DateTime)#2 (3) { ["date"]=> string(26) "2014-09-30 21:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" } object(DateTime)#3 (3) { ["date"]=> string(26) "2014-09-30 21:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" }
Output for 5.6.21, 7.0.6
object(DateTime)#2 (3) { ["date"]=> string(26) "2016-04-30 21:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" } object(DateTime)#3 (3) { ["date"]=> string(26) "2016-04-30 21:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" }
Output for 5.6.20, 7.0.5
object(DateTime)#2 (3) { ["date"]=> string(26) "2016-03-31 21:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" } object(DateTime)#3 (3) { ["date"]=> string(26) "2016-03-31 21:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" }
Output for 5.6.19, hhvm-3.10.0 - 3.12.0, 7.0.4
object(DateTime)#2 (3) { ["date"]=> string(26) "2016-02-29 22:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" } object(DateTime)#3 (3) { ["date"]=> string(26) "2016-02-29 22:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" }
Output for 5.5.31 - 5.5.33, 5.6.15 - 5.6.18, 7.0.0 - 7.0.3
object(DateTime)#2 (3) { ["date"]=> string(26) "2016-02-29 22:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" } object(DateTime)#3 (3) { ["date"]=> string(26) "2016-02-01 22:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" }
Output for 5.5.25 - 5.5.30, 5.5.34, 5.6.8 - 5.6.14
object(DateTime)#2 (3) { ["date"]=> string(26) "2016-03-31 21:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" } object(DateTime)#3 (3) { ["date"]=> string(26) "2016-03-01 21:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" }
Output for 5.5.24, 5.5.35
object(DateTime)#2 (3) { ["date"]=> string(26) "2016-04-30 21:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" } object(DateTime)#3 (3) { ["date"]=> string(26) "2016-04-01 21:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" }
Output for 5.4.45
object(DateTime)#2 (3) { ["date"]=> string(26) "2015-08-31 21:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" } object(DateTime)#3 (3) { ["date"]=> string(26) "2015-08-01 21:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" }
Output for 5.4.39 - 5.4.44
object(DateTime)#2 (3) { ["date"]=> string(26) "2015-07-31 21:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" } object(DateTime)#3 (3) { ["date"]=> string(26) "2015-07-01 21:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" }
Output for 5.4.34 - 5.4.38
object(DateTime)#2 (3) { ["date"]=> string(26) "2015-02-28 22:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" } object(DateTime)#3 (3) { ["date"]=> string(26) "2015-02-01 22:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" }
Output for 5.4.30 - 5.4.32
object(DateTime)#2 (3) { ["date"]=> string(26) "2014-09-30 21:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" } object(DateTime)#3 (3) { ["date"]=> string(26) "2014-09-01 21:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" }
Output for 5.3.0 - 5.4.29
object(DateTime)#2 (3) { ["date"]=> string(19) "2014-09-30 21:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" } object(DateTime)#3 (3) { ["date"]=> string(19) "2014-09-01 21:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" }
Output for 5.2.13 - 5.2.17
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Mn6PG on line 2 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Mn6PG on line 4 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Mn6PG on line 9 Warning: DateTime::modify(): Failed to parse time string (first day of this month) at position 10 (o): The timezone could not be found in the database in /in/Mn6PG on line 5 Fatal error: Call to undefined method DateTime::getTimestamp() in /in/Mn6PG on line 12
Process exited with code 255.
Output for 5.2.0 - 5.2.12
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Mn6PG on line 2 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Mn6PG on line 4 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Mn6PG on line 9 Fatal error: Call to undefined method DateTime::getTimestamp() in /in/Mn6PG on line 12
Process exited with code 255.
Output for 5.0.0 - 5.1.6
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Mn6PG on line 2 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Mn6PG on line 4 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Mn6PG on line 9 Fatal error: Class 'DateTimeZone' not found in /in/Mn6PG on line 2
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Mn6PG on line 2 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Mn6PG on line 4 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Mn6PG on line 9 Parse error: syntax error, unexpected T_VARIABLE in /in/Mn6PG on line 11
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/Mn6PG on line 2 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Mn6PG on line 4 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Mn6PG on line 9 Parse error: parse error, unexpected T_VARIABLE in /in/Mn6PG on line 11
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Mn6PG on line 2 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Mn6PG on line 4 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/Mn6PG on line 9 Parse error: parse error in /in/Mn6PG on line 11
Process exited with code 255.