nombre de jours dans un mois

Par shiko, il y a 8 ans


Bonjour,

J'ai deux calendrier (DateDeb ET DateFin).
le DateDeb est variable, tendis que le DateFin est fixe.
Je cherche comment ajouter 1 mois à la DateFin à chaque fois l'user choisis une DateDeb.

Exemple :
dans la DateFDeb j'ai "02/02/2018" il faut que la DateFin ait la valeur : 02/28/2018

thanks

5 réponses

Lartak, il y a 8 ans

Bonsoir.
Tu pourrais par exemple utiliser une librairie externe, comme par exemple Carbon.
Par contre, ce n'est pas logique ce que tu marques, pour toi rajouter un mois à 02/02/2018 ça donne 02/28/2018 ?
Tu veux peut-être plutôt dire, que la date de fin doit être défini avec le dernier jour du mois.
Par contre, c'est quoi ce format de date Mois/Jour/Année ?
Ou alors c'est Jour/Mois/Année et tu ne sais pas qu'il n'y a que 12 mois dans une année ?

Warzik, il y a 8 ans

@Lartak il préfère peut-être utiliser le format de date américain.

Pierrot01, il y a 8 ans

Salut,
c'est vrai qu'il s'explique pas très bien :D
c'est d'aillleurs pas la première fois que je le constaste :D

function lastDayMonth($date){ $tdate = date_parse($date); return strftime("%Y-%m-%d",mktime(0,0,0,$tdate['month']+1,0,$tdate['year'])); } function dateEcheance($startdate,$fdm,$nbj){ if($fdm==true){ $dateintermediaire = lastDayMonth($startdate); }else{ $dateintermediaire = $startdate; } return date('Y-m-d',strtotime(date("Y-m-d", strtotime($dateintermediaire)) . " +$nbj day")); }

Normalement, avec ça, tu devrais pouvoir te "démerder" :D

@plus

Pierre

Pierrot01, il y a 8 ans

Good :D
Adopté :D
Un petit bémol tout de même après année 2038 ;)
ça :

$date = new DateTime('now'); $date->modify('last day of this month'); echo $date->format('Y-m-d');

c'est mieux,

@plus
Pierre