Difficulté avec date() de PHP
Résolu
adaro2000
Messages postés
46
Statut
Membre
-
adaro2000 Messages postés 46 Statut Membre -
adaro2000 Messages postés 46 Statut Membre -
Bonjour,
Je n'arrive pas à comprendre pourquoi date() du 26-10-2008 déconne sérieusement.
Voici mon code :
<?php
$fin=time();
$deb=$fin-(25*24*60*60);
$fin='2008-10-23';
$deb='2008-10-27';
list($y_fin,$m_fin,$d_fin)=explode('-',$fin);
list($y_deb,$m_deb,$d_deb)=explode('-',$deb);
$t_deb=mktime(0,0,0,$m_deb,$d_deb,$y_deb);
$t_fin=mktime(0,0,0,$m_fin,$d_fin,$y_fin);
$r_fin=$t_fin+(60*60*24);
while($r_fin>$t_deb) {
$day=$t_deb+(60*60*24)-1;
echo 'Debut :'.date('Y-m-d H:i:s',$t_deb).' Fin :'.date('Y-m-d H:i:s',$day);
echo '<br/>Debut :'.$t_deb.' Fin :'.$day;
$t_deb=$day+1;
echo "<hr/>";
}
?>
Pouvez-vous m'aider ? Merci d'avance.
Je n'arrive pas à comprendre pourquoi date() du 26-10-2008 déconne sérieusement.
Voici mon code :
<?php
$fin=time();
$deb=$fin-(25*24*60*60);
$fin='2008-10-23';
$deb='2008-10-27';
list($y_fin,$m_fin,$d_fin)=explode('-',$fin);
list($y_deb,$m_deb,$d_deb)=explode('-',$deb);
$t_deb=mktime(0,0,0,$m_deb,$d_deb,$y_deb);
$t_fin=mktime(0,0,0,$m_fin,$d_fin,$y_fin);
$r_fin=$t_fin+(60*60*24);
while($r_fin>$t_deb) {
$day=$t_deb+(60*60*24)-1;
echo 'Debut :'.date('Y-m-d H:i:s',$t_deb).' Fin :'.date('Y-m-d H:i:s',$day);
echo '<br/>Debut :'.$t_deb.' Fin :'.$day;
$t_deb=$day+1;
echo "<hr/>";
}
?>
Pouvez-vous m'aider ? Merci d'avance.
Configuration: Windows XP Firefox 3.0.3
5 réponses
-
Je n'arrive pas à comprendre pourquoi date() du 26-10-2008 déconne sérieusement.
Mais encore? -
Ce n'est pas le terme employe qu'il te reproche, mais ton erreur n'est pas du tout explicite, dit ce qu'il ne fonctionne pas, ce que tu aimerais faire et et que tu obtiens... Ca sera peut-etre plus facile de t'aider par la suite....
-
Vous m'excusez le terme. Je suis dépassé par cela. Il y 2 jours presque que j'y travaille !
-
Ok.
Dans le code, j'incrémente le timestamp par (60*60*24)-1 secondes afin de lancer une requête avec le date('Y-m-d H:i:s') obtenu. Tout marche bien avec les dates antérieures, mais avec le 26-10-2008, le date('Y-m-d H:i:s') renvoyé, au lieu que ce soit 2008-10-26 23:59:59, il me retourne 2008-10-26 22:59:59 ; les résultats ne sont donc plus bons.
Je ne sais pas si c'est du à un mauvais usage de date ou ...
Pouvez-vous m'aider ? -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
J'ai trouvé.
Il me fallait utilisé la fonction date_default_timezone_set() pour tout gérer automatiquement.
Merci pour vos contributions.