Lors de la manipulation des dates, il devient essentiel d'éviter les situations où la fin du mois est dépassée par inadvertance. Cet article explore une approche fiable pour ajouter des mois à une date donnée tout en garantissant qu'elle reste dans les limites du mois cible.
Étant donné une fonction PHP, l'objectif est d'ajouter un nombre de mois spécifié jusqu'à une date sans dépasser la fin du mois. La fonction doit ajuster le résultat au dernier jour du mois si l'ajout entraîne un débordement.
Pour obtenir la fonctionnalité souhaitée, vous pouvez utiliser les étapes suivantes :
function add($date_str, $months)
{
$date = new DateTime($date_str);
$start_day = $date->format('j');
$date->modify(" {$months} month");
$end_day = $date->format('j');
if ($start_day != $end_day)
{
$date->modify('last day of last month');
}
return $date;
}
// Sample tests
$result = add('2011-01-28', 1); // 2011-02-28
$result = add('2011-01-31', 3); // 2011-04-30
$result = add('2011-01-30', 13); // 2012-02-29
$result = add('2011-10-31', 1); // 2011-11-30
$result = add('2011-12-30', 1); // 2011-02-28
En suivant cette approche, vous pouvez en toute confiance ajouter des mois aux dates en PHP tout en respectant les contraintes de fin de mois, garantissant que vos résultats représentent avec précision le délai prévu.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3