Opération sur les dates (+- 1 jour)
Posté : 06 févr. 2009, 23:55
Bonsoir à tous,
J'essaye vainement depuis tout à l'heure de faire quelque chose de très simple me semble t'il...
Je souhaite transformer des variables que je reçois par l'url en une date du lendemain ou de la veille, voici la query string exemple:Rien de bien compliqué n'est-ce pas?
alors j'ai fait ceci:
A priori ça devrait fonctionner... seulement, pour les paramètres ci-avant, ça ne fonctionne pas pour le jour suivant, on reste "bloqué" sur le 26/10... Alors que ça fonctionne sur d'autres mois, sur d'autres jours, etc...
Où est ma faute? quel est mon erreur de raisonnement? Bref merci à ceux et celle qui sauront m'aider!
J'essaye vainement depuis tout à l'heure de faire quelque chose de très simple me semble t'il...
Je souhaite transformer des variables que je reçois par l'url en une date du lendemain ou de la veille, voici la query string exemple:
Code : Tout sélectionner
?month=10&year=2008&day=26alors j'ai fait ceci:
//récupération des variables GET
$day=$_GET['day'];
$month=$_GET['month'];
$year=$_GET['year'];
//transformation en timestamp
$dsec=mktime(0,0,0,(int)$month,(int)$day,(int)$year);
//jour précédent
$pday=$dsec-86400;
$pday=array('d'=>date("d",$pday),'m'=>date('m',$pday),'y'=>date('Y',$pday));
//jour suivant
$nday=$dsec+86400;
$nday=array('d'=>date("d",$nday),'m'=>date('m',$nday),'y'=>date('Y',$nday));
// Date en français
$currentday=strftime("%A %d %B",$dsec);
En gros j'ajoute ou retire au timestamp correspondant à la date passée par l'url 86400, ce qui correspond au nombre de seondes dans un jour...A priori ça devrait fonctionner... seulement, pour les paramètres ci-avant, ça ne fonctionne pas pour le jour suivant, on reste "bloqué" sur le 26/10... Alors que ça fonctionne sur d'autres mois, sur d'autres jours, etc...
Où est ma faute? quel est mon erreur de raisonnement? Bref merci à ceux et celle qui sauront m'aider!