Date() pas à l'heure

Résolu
Kdopj -  
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   - 4 juil. 2010 à 21:04
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

okuni Messages postés 1221 Date d'inscription   Statut Membre Dernière intervention   126
 
Bonjour,
Pour cela, e ton hébergeur.
Mais comment le sais tu ?
0
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
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 506
 
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
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
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 506
 
Alors récupère le timestamp, et ajoute/retire des secondes afin d'obtenir le timestamp correct.
0
Kdopj
 
Merci bien ;)
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 506
 
Pour savoir le nombre de seconde à retirer/ajouter, tu peux créer un script PHP sur ton hébergeur qui era 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
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