Calcul date de fin avec une date de début et d'une durée
Delphine
-
Neohammer Messages postés 2 Statut Membre -
Neohammer Messages postés 2 Statut Membre -
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?
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?
A voir également:
- Calculer une date de fin
- Fin des zfe - Guide
- Comment calculer la moyenne sur excel - Guide
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Airpods 3 date de sortie - Guide
- Whatsapp date incorrecte ✓ - Forum Mobile
4 réponses
Voilà un bout de code que j'utilise, pas forcément très élégant, mais qui fonctionne :
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 !).
$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 !).
Bonjour,
J'utilise ce bout de code qui incrémente la date du jour en minute (valeur renvoyée par ma fonction getParametre('duree_session')) :
C'est pas le plus élégant, mais ça marche.
J'utilise ce bout de code qui incrémente la date du jour en minute (valeur renvoyée par ma fonction getParametre('duree_session')) :
$dateFin = date("Y-m-d H:i:s",mktime(date("H"),date("i")+getParametre('duree_session'),date("s"),date("m"),date("d"),date("Y")));
C'est pas le plus élégant, mais ça marche.