3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $userTimezone = new \DateTimeZone('Europe/Chisinau'); $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 = new DateTime('@' . $from->getTimestamp()); $from2 = clone $from; $mongoTime = $from2->getTimestamp(); // 1409605200 // 1412110800 echo '<pre>'; var_dump($from->format('Y-m-d H:i:s'), $from2->format('Y-m-d H:i:s')); echo '</pre>';
Output for 5.6.28, 7.0.14 - 7.1.0
<pre>string(19) "2014-09-30 21:00:00" string(19) "2014-09-30 21:00:00" </pre>
Output for 5.6.21, 7.0.6
<pre>string(19) "2016-04-30 21:00:00" string(19) "2016-04-30 21:00:00" </pre>
Output for 5.6.20, 7.0.5
<pre>string(19) "2016-03-31 21:00:00" string(19) "2016-03-31 21:00:00" </pre>
Output for 5.6.19, hhvm-3.10.0 - 3.12.0, 7.0.4
<pre>string(19) "2016-02-29 22:00:00" string(19) "2016-02-29 22:00:00" </pre>
Output for 5.5.31 - 5.5.33, 5.6.15 - 5.6.18, 7.0.0 - 7.0.3
<pre>string(19) "2016-02-29 22:00:00" string(19) "2016-02-01 22:00:00" </pre>
Output for 5.5.25 - 5.5.30, 5.5.34, 5.6.8 - 5.6.14
<pre>string(19) "2016-03-31 21:00:00" string(19) "2016-03-01 21:00:00" </pre>
Output for 5.5.24, 5.5.35
<pre>string(19) "2016-04-30 21:00:00" string(19) "2016-04-01 21:00:00" </pre>
Output for 5.4.45
<pre>string(19) "2015-08-31 21:00:00" string(19) "2015-08-01 21:00:00" </pre>
Output for 5.4.39 - 5.4.44
<pre>string(19) "2015-07-31 21:00:00" string(19) "2015-07-01 21:00:00" </pre>
Output for 5.4.34 - 5.4.38
<pre>string(19) "2015-02-28 22:00:00" string(19) "2015-02-01 22:00:00" </pre>
Output for 5.3.0 - 5.4.32
<pre>string(19) "2014-09-30 21:00:00" string(19) "2014-09-01 21:00:00" </pre>
Output for 5.2.13 - 5.2.17
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/2TtGT on line 2 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/2TtGT on line 3 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/2TtGT on line 8 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/2TtGT on line 4 Fatal error: Call to undefined method DateTime::getTimestamp() in /in/2TtGT on line 13
Process exited with code 255.
Output for 5.2.0 - 5.2.12
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/2TtGT on line 2 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/2TtGT on line 3 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/2TtGT on line 8 Fatal error: Call to undefined method DateTime::getTimestamp() in /in/2TtGT on line 13
Process exited with code 255.
Output for 5.0.0 - 5.1.6
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/2TtGT on line 2 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/2TtGT on line 3 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/2TtGT on line 8 Fatal error: Class 'DateTimeZone' not found in /in/2TtGT 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/2TtGT on line 2 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/2TtGT on line 3 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/2TtGT on line 8 Parse error: syntax error, unexpected T_VARIABLE in /in/2TtGT 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/2TtGT on line 2 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/2TtGT on line 3 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/2TtGT on line 8 Parse error: parse error, unexpected T_VARIABLE in /in/2TtGT 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/2TtGT on line 2 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/2TtGT on line 3 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/2TtGT on line 8 Parse error: parse error in /in/2TtGT on line 11
Process exited with code 255.