Date() pas à l'heure

Résolu/Fermé
Kdopj - 4 juil. 2010 à 16:18
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 - 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 jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
4 juil. 2010 à 16:32
Bonjour,
Pour cela, contacte ton hébergeur.
Mais comment le sais tu ?
0
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 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 499
4 juil. 2010 à 18:50
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
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 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 499
4 juil. 2010 à 20:55
Alors récupère le timestamp, et ajoute/retire des secondes afin d'obtenir le timestamp correct.
0
Merci bien ;)
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 499
4 juil. 2010 à 21:04
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
Profil bloqué
4 juil. 2010 à 19:34
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