3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $beg = new DateTime(); $end = clone $beg; print PHP_EOL.$beg->format('Y-m-d').PHP_EOL; print PHP_EOL.$end->format('Y-m-d').PHP_EOL; $end->modify('-1 day'); $end->modify('last year'); $beg->modify('first of month'); $end->modify('last of month'); print PHP_EOL.$beg->format('Y-m-d').PHP_EOL; print PHP_EOL.$end->format('Y-m-d').PHP_EOL;
Output for 5.3.20 - 5.4.45, 5.6.28, 7.0.20 - 7.2.0
2015-12-07 2015-12-07 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2015-12-07 2014-12-06
Output for 7.0.6
2016-05-03 2016-05-03 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-05-03 2015-05-02
Output for 7.0.5
2016-04-03 2016-04-03 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-04-03 2015-04-02
Output for 7.0.4
2016-03-10 2016-03-10 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-03-10 2015-03-09
Output for 7.0.3
2016-03-18 2016-03-18 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-03-18 2015-03-17
Output for 7.0.2
2016-03-23 2016-03-23 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-03-23 2015-03-22
Output for 7.0.1
2016-03-24 2016-03-24 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-03-24 2015-03-23
Output for 7.0.0
2016-03-27 2016-03-27 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-03-27 2015-03-26
Output for 5.6.21
2016-05-02 2016-05-02 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-05-02 2015-05-01
Output for 5.6.20
2016-04-10 2016-04-10 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-04-10 2015-04-09
Output for 5.6.19
2016-03-08 2016-03-08 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-03-08 2015-03-07
Output for 5.6.18
2016-03-15 2016-03-15 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-03-15 2015-03-14
Output for 5.6.17
2016-03-20 2016-03-20 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-03-20 2015-03-19
Output for 5.6.16
2016-03-28 2016-03-28 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-03-28 2015-03-27
Output for 5.6.15
2016-03-29 2016-03-29 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-03-29 2015-03-28
Output for 5.6.14
2016-04-14 2016-04-14 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-04-14 2015-04-13
Output for 5.6.13
2016-04-15 2016-04-15 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-04-15 2015-04-14
Output for 5.6.12
2016-04-20 2016-04-20 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-04-20 2015-04-19
Output for 5.6.11
2016-04-24 2016-04-24 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-04-24 2015-04-23
Output for 5.6.10
2016-04-25 2016-04-25 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-04-25 2015-04-24
Output for 5.6.9
2016-04-27 2016-04-27 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-04-27 2015-04-26
Output for 5.6.8
2016-04-30 2016-04-30 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-04-30 2015-04-29
Output for 5.5.35
2016-05-23 2016-05-23 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-05-23 2015-05-22
Output for 5.5.34
2016-04-11 2016-04-11 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-04-11 2015-04-10
Output for 5.5.33
2016-03-09 2016-03-09 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-03-09 2015-03-08
Output for 5.5.32
2016-03-17 2016-03-17 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-03-17 2015-03-16
Output for 5.5.31
2016-03-21 2016-03-21 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-03-21 2015-03-20
Output for 5.5.30
2016-04-01 2016-04-01 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-04-01 2015-03-31
Output for 5.5.29
2016-04-17 2016-04-17 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-04-17 2015-04-16
Output for 5.5.28
2016-04-21 2016-04-21 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-04-21 2015-04-20
Output for 5.5.27
2016-04-22 2016-04-22 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-04-22 2015-04-21
Output for 5.5.26
2016-04-26 2016-04-26 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-04-26 2015-04-25
Output for 5.5.25
2016-04-29 2016-04-29 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-04-29 2015-04-28
Output for 5.5.24
2016-05-24 2016-05-24 Warning: DateTime::modify(): Failed to parse time string (first of month) at position 0 (f): The timezone could not be found in the database in /in/kfXTr on line 12 Warning: DateTime::modify(): Failed to parse time string (last of month) at position 0 (l): The timezone could not be found in the database in /in/kfXTr on line 13 2016-05-24 2015-05-23