3v4l.org

run code in 300+ PHP versions simultaneously
<?php if (class_exists('DateTime')) { $date = new DateTime('2013-10-31'); $date->modify('-1 month'); printf("2013-10-31, -1 month: %s\n", $date->format('m')); $date = new DateTime('2013-10-31'); $date->modify('first day of 1 month ago'); printf("2013-10-31, first day 1 month ago: %s\n", $date->format('m')); } else { print 'Not supported.'; }
Output for 5.2.0 - 5.2.12, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.38, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
2013-10-31, -1 month: 10 2013-10-31, first day 1 month ago: 09
Output for 5.2.13 - 5.2.17
2013-10-31, -1 month: 10 Warning: DateTime::modify(): Failed to parse time string (first day of 1 month ago) at position 10 (o): The timezone could not be found in the database in /in/m5OQ9 on line 8 2013-10-31, first day 1 month ago: 10
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6
Not supported.

preferences:
336.95 ms | 402 KiB | 452 Q