Hi all,

Aujourd’hui j’ai eu besoin de récupérer exactement le même jour du mois prochain (en PHP) pour pouvoir définir une prochaine date de facturation (ou autre).

J’ai cherché un peu sur google ( i’m lazy i know 🙂 ) pour voir si j’arrive à trouver une fonction toute prête à utiliser mais malheureusement je n’ai pas vraiment trouvé quelque chose d’utile. J’ai du donc écrire cette fonction moi même 🙁

Donc, je résume: j’ai besoin d’une fonction PHP qui me retourne la date exacte du même jour qu’aujourd’hui mais dans le mois prochain.

Il faut:

Vérifier si le même jour qu’aujourd’hui existe le mois prochain ( par exemple si je suis le 30/01/2014, je ne peux pas dire que la prochaine date est 31/02/2014 )

Vérifier si ce n’est pas le dernier mois de l’année ( par exemple si je suis le 25/12/2014, la prochaine date devra être dans l’année 2015 et pas 2014)

Finalement, je dois aussi récupérer le jour d’aujourd’hui dans les résultats et le stocker quelque part pour le réutiliser  ( sinon, nous aurons un cumul de commandes passées le 30, 31 et voir même le 29 qui seront tous facturées le 28 ou 29 à long terme puisque pendant le mois de Février, toutes les commandes passé le 29, 30 et 31 auront comme prochaine échéance le 28 du mois)

Bon, assez de description 🙂 , passons au code:

    function getNextdate($thisday = NULL, $thismonth = NULL, $thisyear = NULL){

        // get current date
        if ($thisday == NULL)
            $thisday = date('d');
        if ($thismonth == NULL)
            $thismonth = date('m');
        if ($thisyear == NULL)
            $thisyear = date('Y');

        // create next month and year
        if ( $thismonth < 12 ):
            $nextmonth = $thismonth + 1;
            $year = $thisyear;
        else:
            $nextmonth = '1';
            $year = $thisyear + 1;
        endif;

        // count days of the next month
        $somenextmonth = strtotime($year."-".$nextmonth."-1");
        $countdaysnextmonth = date('t', $somenextmonth);

        // add zero if < 10
        if ($nextmonth < 10)
            $nextmonth = '0'.$nextmonth;

        // create next date
        if ( $thisday < $countdaysnextmonth )
            $nextdate = $year.'-'.$nextmonth.'-'.$thisday;
        else
            $nextdate = $year.'-'.$nextmonth.'-'.$countdaysnextmonth;

        $return_array = array('nextdate' => $nextdate, 'defaultday' => $thisday);

        return $return_array;
    }

Enjoy 😉


Merci d'évaluer l'article: PHP, récupérer le même jour du mois prochain

Score: 5 sur 5 Sur un total de 1 avis


Catégorie: Developpement web, E-commerce, PHP.