Page 1 sur 1

soucis avec timestamp

Posté : 24 juil. 2014, 18:53
par jerome572
Bonjour,

Je souhaiterais à l'aide des timestamps afficher la date de tous les lundi.

Pour cela je recupère le lundi de la semaine courante, je converti cette date en timestamp puis j'ajoute le nombre de seconde d'une semaine.

Et la je me rend compte qu'il y a un soucis fin octobre mais uniquement à cette date
$timestamp = 1412546400;
for($i =1 ; $i<10; $i++){
   echo date('d/m/Y', $timestamp) . ' - ' . $timestamp . '<br/>';
   $timestamp += 7*24*60*60;
 }
Quelqu'un sait-il pourquoi ? Merci d'avance

Re: soucis avec timestamp

Posté : 24 juil. 2014, 19:58
par xTG
05/10/2014 - 1412546400<br/><br />
12/10/2014 - 1413151200<br/><br />
19/10/2014 - 1413756000<br/><br />
26/10/2014 - 1414360800<br/><br />
02/11/2014 - 1414965600<br/><br />
Où est le souci ?
Ce sont tous des dimanches dans mon calendrier, aucun jour de sauté.

Re: soucis avec timestamp

Posté : 24 juil. 2014, 21:18
par 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

Re: soucis avec timestamp

Posté : 24 juil. 2014, 23:38
par yann18
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>";
}


Re: soucis avec timestamp

Posté : 25 juil. 2014, 16:33
par jerome572
Le soucis venait du changement d'horaire.

Je passer donc du 20/10 0h00 au 26/10 23h00