par
yann18 » 24 juil. 2014, 23:38
C'est sensé donner tous les lundi.
Chez moi ca me donne
06/10/2014 - 1412546400
13/10/2014 - 1413151200
20/10/2014 - 1413756000
26/10/2014 - 1414360800
02/11/2014 - 1414965600
09/11/2014 - 1415570400
16/11/2014 - 1416175200
23/11/2014 - 1416780000
30/11/2014 - 1417384800
Il y a toujours bien 7 jours d'ecart sauf entre le 20/10 et le 26/10
il y a également un autre problème concernant tout le mois de novembre dont les jours de la semaine correspondent à dimanche et non lundi comme tu le souhaite.
Je te propose de ne pas convertir la date de depart en timestamp pour pouvoir utiliser
DateInterval:
$dateDebut = new DateTime( '2014-10-06' ); //la date de départ
$dateFin = new DateTime( '2014-11-30' );
$dateFin->modify( '+1 day' );//on ajoute 1j à dateFin pour éviter que la condition d'arrêt de la boucle oit le 30-11-2014
$interval = new DateInterval('P7D');//7j d'intervalle
$range = new DatePeriod($dateDebut, $interval ,$dateFin);
//parcours des des dates allant de dateDebut à dateFin avec un incrément de 7j
foreach($range as $date){
echo $date->format("l, d-m-Y") , "<br>";
}
[quote="Invité"]C'est sensé donner tous les lundi.
Chez moi ca me donne
06/10/2014 - 1412546400
13/10/2014 - 1413151200
20/10/2014 - 1413756000
26/10/2014 - 1414360800
02/11/2014 - 1414965600
09/11/2014 - 1415570400
16/11/2014 - 1416175200
23/11/2014 - 1416780000
30/11/2014 - 1417384800
Il y a toujours bien 7 jours d'ecart sauf entre le 20/10 et le 26/10[/quote]
il y a également un autre problème concernant tout le mois de novembre dont les jours de la semaine correspondent à dimanche et non lundi comme tu le souhaite.
Je te propose de ne pas convertir la date de depart en timestamp pour pouvoir utiliser [url=http://php.net//manual/fr/class.dateinterval.php]DateInterval[/url]:
[php]
$dateDebut = new DateTime( '2014-10-06' ); //la date de départ
$dateFin = new DateTime( '2014-11-30' );
$dateFin->modify( '+1 day' );//on ajoute 1j à dateFin pour éviter que la condition d'arrêt de la boucle oit le 30-11-2014
$interval = new DateInterval('P7D');//7j d'intervalle
$range = new DatePeriod($dateDebut, $interval ,$dateFin);
//parcours des des dates allant de dateDebut à dateFin avec un incrément de 7j
foreach($range as $date){
echo $date->format("l, d-m-Y") , "<br>";
}
[/php]