Date + 15

Résolu/Fermé
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 30 sept. 2013 à 11:07
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 30 sept. 2013 à 14:14
Bonjour,

J'essaie d'ajouter 15 jours à une date en php mais j'y arrive pas...
$MaTable = date($data['DateAjout']);
//$Supplem = date($data['DateAjout'], strtotime("+15 day"));
$Supplem = date($data['DateAjout']->format('Ymd'), mktime(0, 0, 0, date("m"), date("d") + 15, date("Y")));

if($MaTable <= $Supplem)
echo $data['NumId']." - ".$MaTable." - ".$Supplem."<br />";

Pouvez-vous me donner un coup de main svp ?

A voir également:

10 réponses

MaximeL. Messages postés 298 Date d'inscription dimanche 12 février 2012 Statut Membre Dernière intervention 27 juin 2014 79
30 sept. 2013 à 11:14
Ca ne peut pas fonctionner "Juste comme ca". Imaginons qu'on soit le:

25 avril 2013
d=25 / m=4 / Y=2013

Que va-t-il se passer quand tu vas rajouter 15 à d ?
Le 40 avril 2013 ? :p

Donc je ne sais plus comment on fait mais ta méthode n'est pas la bonne.
Quelqu'un va te renseigner, ou alors tu peux aller voir la :
http://www6.webtutoriaux.com/?tdfs=1&kw=Online+Learning+Management+System
0
meuhlol Messages postés 1896 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 30 novembre 2021 672
Modifié par meuhlol le 30/09/2013 à 11:23
//Ta date
$dateDebut = '30-09-2013';

//Le nmbr de jours à rajouter
$jours2add = 15;

//Tu transformes ça en TimeStamp
$dateDebutTS = strtotime($dateDebut);

//Calcul...
$dateFinale = date('d-m-Y', strtotime('+'.$jours2add.' days', $dateDebutTS ));

(____(_bdKey____________()~
Pensez à voter pour des réponses.
Pensez à cliquer sur "Résolu" si votre problème est réglé.
0
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
Modifié par Sinistrus le 30/09/2013 à 11:29
Merci mais :
$dateDebut = $data['DateAjout'];
$dateDebutTS = strtotime($dateDebut);
$dateFinale = date('d-m-Y', strtotime('+15 days', $dateDebutTS ));
affiche:
1 - 20/09/2013 >> 16-01-1970
2 - 01/07/2013 >> 22-01-2013

le problème avec mon code est qu'il refuse de prendre en compte la date de la table (db).
Si je remplace :
$MaTable = date($data['DateAjout']);
$Supplem = date($data['DateAjout']->format('Ymd'), mktime(0, 0, 0, date("m"), date("d") + 15, date("Y")));
en
$MaTable = date($data['DateAjout']);
$Supplem = date("d/m/Y", mktime(0, 0, 0, date("m"), date("d") + 15, date("Y")));
cela fonctionne.
Mais lorsque j'ajoute $data['DateAjout'] là j'ai un problème.
or d/m/Y est la date du jour !
0
MaximeL. Messages postés 298 Date d'inscription dimanche 12 février 2012 Statut Membre Dernière intervention 27 juin 2014 79
30 sept. 2013 à 11:32
Plusieurs solutions.

Tu peux changer la façon dont MySQL enregistre les dates (par défaut c'est 2013-09-30),
ou alors convertir cette date une fois récupérée dans le même format que celles utilisées dans PHP.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
30 sept. 2013 à 11:33
Avec ça :
$MaTable = date($data['DateAjout']);
$Supplem = date_format($MaTable, "d/m/Y");
$Supplement = date($Supplem, mktime(0, 0, 0, date("m"), date("d") - 40, date("Y")));

Je ne sais pas si c'est correct en tout cas ça ne fonctionne pas !
0
meuhlol Messages postés 1896 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 30 novembre 2021 672
30 sept. 2013 à 11:44
$MaTable = date($data['DateAjout']);
$jours2add = 15;
$MaTableTS = strtotime($MaTable);
$Supplem = date('d-m-Y', strtotime('+'.$jours2add.' days', $MaTableTS));
0
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
30 sept. 2013 à 11:50
Meuhlol, j'ai essayé mais comme j'ai dis plus haut, il ajout effectivement +15 à jour et non pas à date.
Pour la date du :
20/09/2013 il me donne 16-01-1970 - Erreur
01/07/2013 il me donne 22-01-2013 - OK
0
meuhlol Messages postés 1896 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 30 novembre 2021 672
30 sept. 2013 à 12:08
Sinistrus,

Je viens de faire ceci en local (php v5.4.3)

<?php
$MaTable = '20/09/2013';
$Supplem = date('d/m/Y', strtotime($MaTable. ' + 15 days'));

echo $Supplem
?>

Ca m'affiche 01/01/1970

En remplaçant
$MaTable = '20/09/2013';
par
$MaTable = '20-09-2013';

Ca m'affiche 05/10/2013
0
meuhlol Messages postés 1896 Date d'inscription mardi 24 juillet 2007 Statut Membre Dernière intervention 30 novembre 2021 672
30 sept. 2013 à 12:13
Ca marche aussi comme ça :

$Date1 = '20-09-2013';
$date = new DateTime($Date1);
$date->add(new DateInterval('P15D')); // P15D = période de 15 jours
$Date2 = $date->format('d/m/Y');

echo $Date2;
0
Sinistrus Messages postés 1010 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
30 sept. 2013 à 14:14
Merci à tous de votre aide.
$MaTable = $data['DateAjout'];
$Supplem = date('d/m/Y', strtotime($MaTable. ' + 180 days'));

Ce code fonctionne grâce à vous.
Merci encore !
0