Page 1 sur 1

condition par rapport a date/heure

Posté : 02 févr. 2006, 23:08
par YVES
Bonjour, je reviens à la charge avec ce problème....
<?php
$heure = date("H:i");
echo "<br><center><strong><font face='Calligraph421 BT'>$heure</font></strong></center>";
if (($heure > "17:01") AND ($heure < "08:59"))
{
echo "<br><center><strong><font face='Calligraph421 BT'>$heure<br>la banque est fermée.</font></strong></center>";
}
?>
l'heure s'affiche bien mais pas le résultat de la condition en testant APRES 17h (en ligne et chez mon hébergeur je précise :wink: )[/php]

Posté : 03 févr. 2006, 00:29
par Cyrano
Au lieu de travailler sur les heures, utilise des timestamp, ce sera plus facile. Proposition:
<?php
$heure = date("H:i");
/* On convertir le moment prédent en timestamp */
$hts = mktime(date("H"),date("i"),0,0,0,0);
/* On crée des timestamp pour l'heure d'ouverture et celle de fermeture */
$debut = mktime(8, 59, 0, date("m"), date("d"), date("Y"));
$fin = mktime(17, 1, 0, date("m"), date("d"), date("Y"));
/* Si l'heure courante est inférieure à l'heure d'ouverture OU supérieure à l'heure de fermeture, on affiche que la banque est fermée */
if($hts < $debut || $hts > $fin)
{
    echo "<br><center><strong><font face='Calligraph421 BT'>". $heure ."<br>\nla banque est fermée.</font></strong></center>";
}
else
{
    /* On affiche l'heure courante */
    echo "<br><center><strong><font face='Calligraph421 BT'>". $heure ."</font></strong></center>\n";
}
?>

Posté : 03 févr. 2006, 01:06
par Fredo
Salut Yves,

Pour t'éviter un autre post, petite correction du code de Cyrano :
/* On convertit le moment présent en timestamp */ 
$hts = mktime(date("H"),date("i"),0,date("m"), date("d"), date("Y"));
Frédo

Posté : 03 févr. 2006, 01:12
par Cyrano
Ha oui tiens, tu as raison, j'ai collé le mauvais code..

Posté : 03 févr. 2006, 23:51
par Invité
merci, messieurs ! :D