Décalage horraire

Résolu/Fermé
ThePico20 Messages postés 102 Date d'inscription samedi 11 août 2012 Statut Membre Dernière intervention 21 décembre 2014 - 9 mars 2014 à 13:17
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 10 mars 2014 à 11:48
Bonjour, j'ai un petit problème. Je dois faire un compte à rebours avant le démarrage d'un événement. Le problème c'est que la machine sur laquelle est hébergé le site que j'ai réalisé, ça n'affiche pas la bonne heure. Sur mon localhost, je n'ai aucun problème je fait comme ça:

$reponse = $bdd->query("SELECT * FROM planning WHERE player='Principal' ORDER BY debut"); // REQUETE MYSQL
    $info = $reponse->fetch();
      // CALCULES POUR LES CONDITIONS D'AFFICHAGE
      $h1=strtotime($date);
      $h2=strtotime(htmlspecialchars($info['debut']));
      $h3=strtotime(htmlspecialchars($info['fin']));
      $StartDay = date("z",$h2-$h1);
      $StartHour = date("H:i:s",$h2-$h1);
      $EndOfStream = date("H:i", $h3);
      list($StartJours) = explode("-", $StartDay);
      $TimeLeft = ($h2-$h1);
      // FIN DES CALCULES
    if(($h3 < $h1 && $h2 > $h1) || ($info == false)){
      echo "<div class=\"counter\"><ul class=\"ul-offline\"><li>Aucun live programmé.</li></ul></div>";
      }
      
      elseif ($TimeLeft > "86400") {
        echo "<div class=\"counter\"><ul class=\"ul-offline\"><li>Le live commence dans ".$StartJours." jours</li></ul></div>";
      }
      elseif ($TimeLeft <= "86400" && $TimeLeft > "60") {
       echo "<div class=\"counter\"><ul class=\"ul-offline\"><li>Le live commence dans ".$Start."</li></ul></div>";
      }
      elseif ($TimeLeft <= "60" && $TimeLeft >= "0") {
         echo "<div class=\"counter\"><ul class=\"ul-offline\"><li>Le live va bientôt commencer.</li></ul></div>";
      }
      elseif ($h2 <= $h1 && $h3 >= $h1) {
        echo "<div class=\"counter\"><ul class=\"ul-online\"><li>En live jusque ".$EndOfStream."</li></ul></div>";
      }
    if($h3 < $h1 || $h2 > $h1)
      {
       echo "Aucun live en ce moment.";
      }
 $reponse->closeCursor();


Et donc ce serait la fonction date(); qui plante. J'ai essayé avec un gmdate(); et ça fait que sur mon localhost il y a aussi une heure de moins et par contre sur la machine ça revient au même que date();

Voilà si quelqu'un veut essayer de m'aider et ne comprend pas, qu'il me demande.

1 réponse

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
10 mars 2014 à 11:48
Salut,

Peut-être un début de réponse ici : https://www.php.net/manual/fr/function.date-default-timezone-set.php

Sinon tu peux le faire en javascript pour utiliser l'heure du pc du visiteur.

Bonne journée
0