Problème avec l'heure en PHP

Gariig -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J ai ecrit un script tout simple qui affiche l heure actuelle en PHP. Mais ça affiche l heure avec 2h en moins !!!

Voici mon script (issu d'un livre)

$heure=date("H");
$minute=date("i");
echo "Il est $heure h $minute !";


Donc par exemple si il est 19h, ce script m'affiche 17h !!!

Pourquoi ??

Merci
A voir également:

15 réponses

[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Depuis Php 5.1.0, on peut faire comme cela dans son code (si on ne maîtrise pas le paramétrage de php.ini) :

date_default_timezone_set('Europe/Paris');

Dal
51
Synopsis
 
On apprend de nos erreurs!
Vérifier que votre fonction n'est pas commentée dans le fichier de configuration de php.
;date.timezone =Europe/Paris
Otez le point virgule (;) du commentaire.
ça fonctionne :)
0
junior > Synopsis
 
et pour les personne qui vivre en amerique latine ont mais quoi a la place utc
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > junior
 
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Dans le php.ini, il faut modifier la directive "date.timezone" (utilise la fonction de recherche de ton éditeur de texte) et mettre l'identifiant du fuseau horaire dans lequel tu te trouve (cf. ici).
Exemple :
date.timezone = "Europe/Brussels"

Faut pas oublier de décommenter la ligne.
38
joe
 
ou "Europe/Paris"
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Oui ou Europe/Madrid, Europe/Amsterdam, Europe/Rome, ...
0
Kris
 
Merci, ton explication est très claire et ma tout de suite montré comment faire :)
0
avion-f16
 
cool gars c'etait claire et nette. Merci
0
avion-f16
 
c'est franck desoler d'utiliser ton speudo "avion-f16"
0
lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
 
avion F16 a raison, l'heure que tu recupere en php n'est pas l'heure de ton pc , mais celle du serveur, modifie ton php ini, en local c'est simple ,mais en ligne si tu n'a pas acces au php.ini utilise
date_default_timezone_set https://www.php.net/manual/fr/function.date-default-timezone-set.php
5
Gariig
 
ça y est ça marche !!!!! J ai remplacé :

date.timezone = UTC

par

date.timezone = "Europe/Brussels"

et la il est bien 22h40 quand je génère le script sur wamp c est trop cool !

Merci
5

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
necro27 Messages postés 160 Date d'inscription   Statut Membre Dernière intervention   8
 
Bonjour à tous,

J'ai beau changé le fichier php.ini, cela ne change rien je retrouve toujours l'heure actuelle -1.
Je travail sous wampserver, le fichier php.ini est t'il bien celui se trouvant à l'adresse C:\wamp\bin\php\php5.3.0\php.ini ?

voici les lignes où j'apporte les modifications :
; Defines the default timezone used by the date functions
; https://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = UTC

que je remplace par
; Defines the default timezone used by the date functions
; https://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = "Europe/Paris"

Merci d'avance.

Necro27
2
Bloubibi Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour.

Le fichier php.ini utilisé par wamp est le suivant :
C:\wamp\bin\apache\apachex.x.xx(votre version apache)\bin

Le plus simple est de le modifier en ouvrant le fichier php.ini depuis le menu php du programme : cad en cliquant gauche sur l'icone Wamp du bureau, menu php.
0
Aquall Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   2
 
Et si je vous dis que vous vous prennez la tete pour rien pour l'heure?

https://www.php.net/manual/fr/function.time.php

La fonction time() vous retourne l'heure actuelle...

Exemple:

$now=time();
$heure=date(H:i,$now);
echo "Il est actuellement:".$heure."<br>";


En espérant vous avoir aidé. PHP manuel est la pour vous aider aussi. Il est très bien fait et on y trouve pas mal d'aide.
1
Aaaaaaaaa
 
Et si je dis que tu dis n'importe quoi? Car si le serveur est au canada l'heure aura 6 heures de décalage avec la France.
1
Gariig
 
je l ai simplement testé en local avec WAMP et j ai 2h de retard...

je sais pas comment réglé l heure de wamp moi...
0
Gariig
 
Mon horloge de pc n'a aucun probleme elle affiche l heure normale

C est quand je fais ce script sur WAMP:

$heure=date("H");
$minute=date("i");
echo "Il est $heure h $minute !";

Que ça m affiche 18h16 au lieu de 20h16 (heure de mon pc)

Je comprend pas pourquoi
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Je viens de tester comme ça et j'ai le même problème :)
Je vais regarder à ça.
PS : Je n'utilise pas Wamp mais Apache + PHP + MySQL installés séparemments (logique sur Linux et avec un serveur en production).
0
Gariig
 
Re

Oui c est peut etre le script qui est pas bon ...

J ai tiré ce script d'un livre "PHP pour debutants"

Et des fois ya des script qui marche mal... meme si c est un tres bon livre avec lequel je m initie a PHP.

Je doute que ça soi WAMP qui deconne car wamp c est quand meme la plateforme que tout le monde utilise pour developper en php.

Don merci de m proposer un petit script qui fonctionne pour afficher l heure !! ça doit etre tout bete :) Merci
0
Gariig
 
Ok je vais modifier mon fichier php.ini et je te dirai si ça marche !!

La je v manger a toute !! Et merci encore !!!!
0
celine_dion_blue Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
Pour moi ça marche, je pense que je trouve la solution. il suffit de régler l'heure et surtout de régler de fusion horaire pour votre pays et après régler l'heure
0
red1
 
il suffit de cliquer sur la date aprés fusion horaire et regler GMT
0
vincent170186 Messages postés 316 Date d'inscription   Statut Membre Dernière intervention   52
 
salut !

une petite bidouille !

$heure=date("H");
$new_heure=intval($heure)+2;
$minute=date("i");
echo "Il est $new_heure h $minute !";


voila !
-1
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Et quand il est 23h, on se retrouve à 25h :)
0
vincent170186 Messages postés 316 Date d'inscription   Statut Membre Dernière intervention   52
 
ha ouais (rhoooo la honte !!!!)! bon je sort ... =)
0
Rynaty
 
MERCI!!!!!!!!! Grâce à toi vincent1701786 ça fonctionne bien pour moi!

<br/><?php
 $jour = date('d');
$mois = date('m');
$annee = date('Y');
 
$heure = date('H');
$new_heure=intval($heure)+1;
$minute = date('i');

echo 'Bonjour ! Nous sommes le ' . $jour . '/' . $mois . '/' . $annee . ' et il est ' . $new_heure. ' h ' . $minute;
?><br/>
0
tyros25 Messages postés 127 Date d'inscription   Statut Membre Dernière intervention  
 
sa doit venir de l'hebergement.

Si l'ordinateur qui heberge ton site et a deux décalage horaire il montrera pas la bonne heure en france et inversement.
Je pense qu'il y a un moyen d'ajouter les 2h qu'il manque =)
-4