<?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 of 1 month ago: %s\n", $date->format('m'));
$date = new DateTime('2013-10-31');
$date->modify('first day 1 month ago');
printf("2013-10-31, first day 1 month ago: %s\n", $date->format('m'));
} else {
print 'Not supported.';
}
2013-10-31, -1 month: 10
2013-10-31, first day of 1 month ago: 09
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/0UpTO on line 8
2013-10-31, first day of 1 month ago: 10
2013-10-31, first day 1 month ago: 09