web-dev-qa-db-fra.com

php obtenir le dernier jour du mois donné

Je veux sortir de la dernière et première date d'un mois donné de l'année en cours. J'utilise ce code mais ne fonctionne pas

$month='02';
$first_day_this_month = date('Y-'.$month.'-01'); // hard-coded '01' for first day
$last_day_this_month  = date('Y-'.$month.'-t');

echo $first_day_this_month;print'<->';echo $last_day_this_month;

ma sortie montre

2015-02-01<->2015-02-31

Mais ce sera 2015-02-01<->2015-02-28

8
Frai1989

J'ai déjà eu ce problème avec PHP auparavant, essayez la méthode suivante:

$dateToTest = "2015-02-01";
$lastday = date('t',strtotime($dateToTest));
14
Ushal Naidoo

il y a plusieurs façons de le faire, je vous donne deux réponses\idées:

1- Essayez d’utiliser la fonction strtotime PHP ( http://php.net/manual/es/function.strtotime.php )

Quelque chose comme date("Y-m-d", strtotime("last day of this month")); ou le premier jour ... ou n'importe quel mois.

2- Autre moyen d’utiliser ça:

Premier jour:

date("Y-m-d", mktime(0, 0, 0, *YOUR MONTH PARAM*,1 ,date("Y")));

Dernier jour:

date("Y-m-d", mktime(0, 0, 0, *YOUR MONTH PARAM*+1,0,date("Y")));

Lisez à propos de la fonction mktime ici:

http://php.net/manual/es/function.mktime.php

Bonne chance!

4

Vous pouvez avec la classe DateTime. 

    $month='02';
    $first_day_this_month = date('Y-'.$month.'-01');

    $firstDayThisMonth = new \DateTime($first_day_this_month);

    $lastDayThisMonth = new \DateTime($firstDayThisMonth->format('Y-m-t'));
    $lastDayThisMonth->setTime(23, 59, 59);

    echo $firstDayThisMonth->format("Y-m-d");
    echo "<->";
    echo $lastDayThisMonth->format("Y-m-d");
0
ercvs