Date() pas à l'heure

Résolu
Kdopj -  
avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, j'utilise <?php echo date('d-m-Y à H:i:s'); ?> pour affiché la date et l'heure mais mon hébergeur n'est pas a l'heure, il retarde de 11 minutes, comment faire pour rectifier ?

Merci d'avance.

4 réponses

  1. okuni Messages postés 1325 Statut Membre 126
     
    Bonjour,
    Pour cela, contacte ton hébergeur.
    Mais comment le sais tu ?
    0
  2. Kdopj
     
    Car c'est pas a l'heure tout simplement ^^

    Il y a pas la possibilité de mètre les minutes dans une variable et de ajouté +11 ?

    $rectification = $minutes+'11';
    0
  3. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Salut.

    Il faut modifier l'option timezone en PHP. Place ceci au début de tes scripts (ou dans un fichier inclus dans toutes les pages) :
    date_default_timezone_set('Europe/Paris');
    0
    1. Kdopj
       
      Oui mais ce n'est pas à cause du fuseau horaire mais belle et bien du serveur de mon hébergeur qui n'est pas à l'heure.
      0
    2. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
       
      Alors récupère le timestamp, et ajoute/retire des secondes afin d'obtenir le timestamp correct.
      0
    3. Kdopj
       
      Merci bien ;)
      0
    4. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
       
      Pour savoir le nombre de seconde à retirer/ajouter, tu peux créer un script PHP sur ton hébergeur qui contactera un autre script PHP sur ton serveur (ton PC).

      Le script sur ton PC affichera le timestamp de celui-ci, et le script sur le serveur affichera le timestamp récupéré sur ton PC et le tiens.

      Script sur ton PC :
      <?php echo $_SERVER['REQUEST_TIME']; ?>

      Script sur ton hébergeur :
      <?php
      $curl = curl_init('http://tonip/script.php');
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
      $timestamp = curl_exec($curl);
      unset($curl);
      
      echo 'Timestamp du PC : '.$timestamp.'<br/>';
      echo 'Timestamp de l\'hébergeur : '.$_SERVER['REQUEST_TIME'].'<br/>';
      ?>
      0
  4. Profil bloqué
     
    pour cela, il te faut utiliser le timestamp.

    tu utilise cela:
    $time = time()+11*60;
    date_default_timezone_set('Europe/Paris');
    $date = date("D d F Y",$time);
    $date = str_replace("Mon", "Lundi", $date);
    $date = str_replace("Tue", "Mardi", $date);
    $date = str_replace("Wed", "Mercredi", $date);
    $date = str_replace("Thu", "Jeudi", $date);
    $date = str_replace("Fri", "Vendredi", $date);
    $date = str_replace("Sat", "Samedi", $date);
    $date = str_replace("Sun", "Dimanche", $date);
    $date = str_replace("January", "Janvier", $date);
    $date = str_replace("February", "Février", $date);
    $date = str_replace("March", "Mars", $date);
    $date = str_replace("April", "Avril", $date);
    $date = str_replace("May", "Mai", $date);
    $date = str_replace("June", "Juin", $date);
    $date = str_replace("July", "Juillet", $date);
    $date = str_replace("August", "Aôut", $date);
    $date = str_replace("September", "Septembre", $date);
    $date = str_replace("October", "Octobre", $date);
    $date = str_replace("November", "Novembre", $date);
    $date = str_replace("December", "Décembre", $date);
    echo $date.' à '.date("H:i:s",$time).'<br/>';
    


    ca vas te coller les 11 * 60 secondes (11 minutes) de plus au time stamp, ensuite tu definie bien que tu veux l'heure francaise, la date sous le format Nom du jour, numeros du jour, nom du mois et année, comme c'est en anglais, on fait une recherche pour changer les nom anglais en francais et enfin, tu demande d'ecrire la date en y rajoutant k'heure. amuse toi bien car tu peux faire pâs mal de chose avec cela. (Verifie quand meme aupres de ton hebergeur pour qu'il regle le probleme des 11 secondes. ainsi, tu pourras utilise le date directement.
    0