J'essaie de soustraire 1 mois d'une date.
$today = date('m-Y');
Cela donne: 08-2016
Comment puis-je soustraire un mois pour obtenir 07-2016
?
<?php
echo $newdate = date("m-Y", strtotime("-1 months"));
sortie
07-2016
Attention! Les exemples mentionnés ci-dessus ne fonctionneront pas s'ils sont appelés à la fin du mois.
<?php
$now = mktime(0, 0, 0, 10, 31, 2017);
echo date("m-Y", $now)."\n";
echo date("m-Y", strtotime("-1 months", $now))."\n";
affichera:
10-2017
10-2017
L'exemple suivant produira le même résultat:
$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";
Vous trouverez de nombreuses façons de résoudre le problème dans un autre fil de discussion: DateTime PHP :: modifier l'addition et la soustraction de mois
Selon votre version PHP version, vous pouvez utiliser l'objet DateTime (introduit dans PHP 5.2 si mes souvenirs sont exacts)):
<?php
$today = new DateTime(); // This will create a DateTime object with the current date
$today->modify('-1 month');
Vous pouvez passer une autre date au constructeur, il n'est pas nécessaire que ce soit la date du jour. Plus d'informations: http://php.net/manual/en/datetime.modify.php
Essaye ça,
$today = date('m-Y');
$newdate = date('m-Y', strtotime('-1 months', strtotime($today)));
echo $newdate;
if(date("d") > 28){
$date = date("Y-m", strtotime("-".$loop." months -2 Day"));
} else {
$date = date("Y-m", strtotime("-".$loop." months"));
}
$lastMonth = date('Y-m', strtotime('-1 MONTH'));
Essaye ça,
$effectiveDate = date('2018-01'); <br>
echo 'Date'.$effectiveDate;<br>
$effectiveDate = date('m-y', strtotime($effectiveDate.'+-1 months'));<br>
echo 'Date'.$effectiveDate;
changez d'abord le format de date m-y en y-m
$date = $_POST('date'); // Post month
or
$date = date('m-Y'); // currrent month
$date_txt = date_create_from_format('m-Y', $date);
$change_format = date_format($date_txt, 'Y-m');
Ce code moins 1 mois à la date indiquée
$final_date = new DateTime($change_format);
$final_date->modify('-1 month');
$output = $final_date->format('m-Y');