120 votes

incrémenter la date d'un mois

Disons que j'ai une date au format suivant : 2010-12-11 (année-mois-jour)

Avec PHP, je veux incrémenter la date d'un mois, et je veux que l'année soit automatiquement incrémentée, si nécessaire (c'est-à-dire incrémenter de décembre 2012 à janvier 2013).

Regards.

1voto

Kapil Kumar Points 75
$date = strtotime("2017-12-11");
$newDate = date("Y-m-d", strtotime("+1 month", $date));

Si vous voulez incrémenter par jours vous pouvez aussi le faire

$date = strtotime("2017-12-11");
$newDate = date("Y-m-d", strtotime("+5 day", $date));

1voto

codedgift Points 43

Si vous voulez obtenir la date d'un mois à partir de maintenant, vous pouvez le faire comme suit

echo date('Y-m-d', strtotime('1 month'));

Si vous voulez obtenir la date de deux mois à partir de maintenant, vous pouvez le faire en faisant ceci

echo date('Y-m-d', strtotime('2 month'));

Et ainsi de suite, c'est tout.

0voto

T30 Points 170
function dayOfWeek($date){
    return DateTime::createFromFormat('Y-m-d', $date)->format('N');
}

Exemples d'utilisation :

echo dayOfWeek(2016-12-22);
// "4"
echo dayOfWeek(date('Y-m-d'));
// "4"

0voto

Fabricio Points 112

Pour tous ceux qui cherchent une réponse à un format de date quelconque.

echo date_create_from_format('d/m/Y', '15/04/2017')->add(new DateInterval('P1M'))->format('d/m/Y');

Il suffit de changer le format de la date.

0voto

//ECHO MONTHS BETWEEN TWO TIMESTAMPS
$my_earliest_timestamp = 1532095200;
$my_latest_timestamp = 1554991200;

echo '<pre>';
echo "Earliest timestamp: ". date('c',$my_earliest_timestamp) ."\r\n";
echo "Latest timestamp: " .date('c',$my_latest_timestamp) ."\r\n\r\n";

echo "Month start of earliest timestamp: ". date('c',strtotime('first day of '. date('F Y',$my_earliest_timestamp))) ."\r\n";
echo "Month start of latest timestamp: " .date('c',strtotime('first day of '. date('F Y',$my_latest_timestamp))) ."\r\n\r\n";

echo "Month end of earliest timestamp: ". date('c',strtotime('last day of '. date('F Y',$my_earliest_timestamp)) + 86399) ."\r\n";
echo "Month end of latest timestamp: " .date('c',strtotime('last day of '. date('F Y',$my_latest_timestamp)) + 86399) ."\r\n\r\n";

$sMonth = strtotime('first day of '. date('F Y',$my_earliest_timestamp));
$eMonth = strtotime('last day of '. date('F Y',$my_earliest_timestamp)) + 86399;
$xMonth = strtotime('+1 month', strtotime('first day of '. date('F Y',$my_latest_timestamp)));

while ($eMonth < $xMonth) {
    echo "Things from ". date('Y-m-d',$sMonth) ." to ". date('Y-m-d',$eMonth) ."\r\n\r\n";
    $sMonth = $eMonth + 1; //add 1 second to bring forward last date into first second of next month.
    $eMonth = strtotime('last day of '. date('F Y',$sMonth)) + 86399;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X