PHP subtract 1 month from date formatted with date ('m-Y')

Warning! The above-mentioned examples won't work if call them at the end of a month.

<?php
$now = mktime(0, 0, 0, 10, 31, 2017);
echo date("m-Y", $now)."\n";
echo date("m-Y", strtotime("-1 months", $now))."\n";

will output:

10-2017
10-2017

The following example will produce the same result:

$date = new DateTime('2017-10-31 00:00:00');
echo $date->format('m-Y')."\n";
$date->modify('-1 month');
echo $date->format('m-Y')."\n";

Plenty of ways how to solve the issue can be found in another thread: PHP DateTime::modify adding and subtracting months


 <?php 
  echo $newdate = date("m-Y", strtotime("-1 months"));

output

07-2016