Calcul date de fin avec une date de début et d'une durée

Fermé
Delphine - 8 janv. 2022 à 12:07
Neohammer Messages postés 2 Date d'inscription vendredi 21 janvier 2022 Statut Membre Dernière intervention 21 janvier 2022 - 21 janv. 2022 à 18:14
Bonjour,

Pour un projet, j'ai besoin de calculer une date de fin à partir de la date de début et d'une durée.
Le format de la date de début est datetime et la durée (hh:mm) est en time. Mais je ne trouve pas comment additionner les deux pour avoir la date de fin.
J'ai essayé avec idate :
idate('yyyy-MM-dd HH:mm:ss', strtotime($_POST['dateDebut'])+strtotime($_POST['duree'])) )
Mais visiblement y'a quelque chose qui ne fonctionne pas (" Warning: idate(): idate format is one char")
J'ai aussi essayé avec date et timestamp :
date('yyyy-MM-dd HH:mm:ss', date_timestamp_get($_POST['dateDebut'])+date_timestamp_get($_POST['duree']))

Je ne trouve pas la solution, quelqu'un pourrait m'aider?

4 réponses

Voilà un bout de code que j'utilise, pas forcément très élégant, mais qui fonctionne :
$dateFin = date("Y-m-d H:i:s",mktime(date("H"),date("i")+240,date("s"),date("m"),date("d"),date("Y")))


Cela incrémente la date du jour de 240 minutes (normalement le 240 est une variable, qui contient un nombre de minutes).

Depuis j'ai appris qu'on pouvait faire plus élégant en utilisant la classe Date (https://www.php.net/manual/fr/function.date-add) mais j'ai toujours du mal à changer un bout de code qui fonctionne juste pour le plaisir de changer (tant que les fonctions ne sont pas dépréciées !).
0