Décalage horraire

Résolu
ThePico20 Messages postés 102 Date d'inscription   Statut Membre Dernière intervention   -  
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   527
 
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