Afficher l'heure francaise depuis américaine
pols12
Messages postés
1143
Date d'inscription
Statut
Membre
Dernière intervention
-
pols12 Messages postés 1143 Date d'inscription Statut Membre Dernière intervention -
pols12 Messages postés 1143 Date d'inscription Statut Membre Dernière intervention -
Bonjour!!
Mon problème est très simple, la solution aussi, d'ailleur. Mais je galère. Google m'indique des tonnes de solutions, toutes différentes, et ou trop compliqué ou ne marche pas.
Je m'explique:
J'ai un script de mini-chat, très basique, avec 2 pages:
4.php // formulaire+lecture des messages
poste.php // ecriture des messages dans la BDD
Le forumulaire de 4.php contient:
La BDD contient unetable chat qui contient:
. . un champ ID //Pour l'ordre des messages
. . un champ pseudo //qui contient les pseudos
. . un champ message //qui contient les messages
. . un champ date_heure de type datetime //qui contient la date d'enrgistrement des messages
Et donc, ma requete sql qui envoi les messages (dans poste.php), c'est:
Mais mon serveur est américain. La fonction NOW, enregistre donc l'heure américaine.
Ca, j'aimerais ne pas changer.
J'aimerais juste, afficher l'heure francaise, et non enregistrer l'heure francaise.
Donc, dans 4.php, je voudrais afficher l'heure francaise qui correspond à celle enregistré américaine.
Code sql de la récupération:
Donc, dans 4.php, je voudrais afficher l'heure francaise qui correspond à celle enregistré américaine.
Merci de votre aide!
Mon problème est très simple, la solution aussi, d'ailleur. Mais je galère. Google m'indique des tonnes de solutions, toutes différentes, et ou trop compliqué ou ne marche pas.
Je m'explique:
J'ai un script de mini-chat, très basique, avec 2 pages:
4.php // formulaire+lecture des messages
poste.php // ecriture des messages dans la BDD
Le forumulaire de 4.php contient:
. . un champ pseudo et un champ message.
La BDD contient unetable chat qui contient:
. . un champ ID //Pour l'ordre des messages
. . un champ pseudo //qui contient les pseudos
. . un champ message //qui contient les messages
. . un champ date_heure de type datetime //qui contient la date d'enrgistrement des messages
Et donc, ma requete sql qui envoi les messages (dans poste.php), c'est:
mysql_query("INSERT INTO chat VALUES('', '$pseudo', '$message', NOW())")or die ('Erreur 67: '.mysql_error());
Mais mon serveur est américain. La fonction NOW, enregistre donc l'heure américaine.
Ca, j'aimerais ne pas changer.
J'aimerais juste, afficher l'heure francaise, et non enregistrer l'heure francaise.
Donc, dans 4.php, je voudrais afficher l'heure francaise qui correspond à celle enregistré américaine.
Code sql de la récupération:
mysql_query("SELECT *, DATE_FORMAT(date_heure, 'le %d/%m/%y à %H:%i:%s') AS date_heure FROM chat ORDER BY ID DESC LIMIT 0,50");
Donc, dans 4.php, je voudrais afficher l'heure francaise qui correspond à celle enregistré américaine.
Merci de votre aide!
A voir également:
- 8/7c heure francaise
- Clé windows 8 - Guide
- Radio française - Télécharger - Médias et Actualité
- Mixcraft 8 - Télécharger - Création musicale
- Boîte mail française gratuite - Guide
- Internet explorer 8 - Télécharger - Navigateurs
13 réponses
jettes un oeil sur ce site tu dois pouvoir en tirer une solution
http://julien-pauli.developpez.com/tutoriels/php/dates/#LIV-B
http://julien-pauli.developpez.com/tutoriels/php/dates/#LIV-B
Trop compliqué pour moi: je ne maitrise pas la programation orienté en objet, désolé.
N'y a t il pas une fonction php?
Merci!
pols12
N'y a t il pas une fonction php?
Merci!
pols12
essayes comme ça:
$reponse=mysql_query("SELECT *, DATE_FORMAT(date_heure, 'le %d/%m/%y à %H:%i:%s') AS date_heure FROM chat ORDER BY ID DESC LIMIT 0,50"); //par exemple si tu recupères la date de la BDD ainsi $donnees=mysql_fetch_assoc($reponse); $date_US=$donnees['date_heure']; // affectation directe d'un fuseau précis (autre que celui par défaut) à une date $date_fr = new DateTime($date_US,new DateTimeZone('Europe/Paris')); echo $date_fr->format("d/m/Y à H\hi:s"); // 03/10/2007 à 19h39:53
Yuko ->Je n'y tiens aps vraiment... =D
Alin_42 ->Si je laisse le DATE_FORMAT dans le SELECT, j'ai un message d'erreur.
Si je l'enlève, j'ai plus d'erreur, mais le résultat n'est pas là. :(
Tu veux que je te recopies le message d'erreur? :)
Alin_42 ->Si je laisse le DATE_FORMAT dans le SELECT, j'ai un message d'erreur.
Si je l'enlève, j'ai plus d'erreur, mais le résultat n'est pas là. :(
Tu veux que je te recopies le message d'erreur? :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
j'avais pas vu qu'il trainait un "le " devant le format
essayes avec:
essayes avec:
DATE_FORMAT(date_heure, '%d/%m/%Y %H:%i:%s')
Ca ne change rien...
erreur:
erreur:
Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct() [<a href='datetime.--construct'>datetime.--construct</a>]: Failed to parse time string (23/08/2010 18:01:05) at position 0 (2): Unexpected character' in C:\Documents and Settings\xp\Bureau\Paul\Internet\wamp\www\page mot de passe\4.php:99 Stack trace: #0 C:\Documents and Settings\xp\Bureau\Paul\Internet\wamp\www\page mot de passe\4.php(99): DateTime->__construct('23/08/2010 18:0...', Object(DateTimeZone)) #1 {main} thrown in C:\Documents and Settings\xp\Bureau\Paul\Internet\wamp\www\page mot de passe\4.php on line 99
Ha, plus d'erreur!
Mais c'est comme quand j'enlevais le date format dans la requete select: ca ne change rien. :(
Je m'explique: si je change cette ligne:
Par cette ligne:
Dans les deux cas, il m'affiche:
Pourquoi?
Je redonne mon code, au cas ou:
Mais c'est comme quand j'enlevais le date format dans la requete select: ca ne change rien. :(
Je m'explique: si je change cette ligne:
$timezone = new DateTimeZone('Europe/Paris');
Par cette ligne:
$timezone = new DateTimeZone('America/New_York');
Dans les deux cas, il m'affiche:
01/09/2010 à 18h00:17
Pourquoi?
Je redonne mon code, au cas ou:
$reponse = mysql_query("SELECT *, DATE_FORMAT(date_heure, '%Y-%m-%dT%H:%i:%s+0000') AS date_heure FROM chat ORDER BY ID DESC LIMIT 0,50"); $don_date=mysql_fetch_assoc($reponse); $date_us=$don_date['date_heure']; $timezone = new DateTimeZone('Europe/Paris'); //America/New_York $date_fr = new DateTime($date_us, $timezone); $date_ok = $date_fr->format("d/m/Y à H\hi:s"); // 31/12/20010 à 24h59:59 echo $date_ok;
reponse = mysql_query("SELECT *, DATE_FORMAT(date_heure, '%Y-%m-%dT%H:%i:%s+0000') AS date_heure_formatee FROM chat ORDER BY ID DESC LIMIT 0,50"); //le nom du champ date_heure et le nom de l'alias estait le même je pense qu'il y avait conflit ?? $don_date=mysql_fetch_assoc($reponse); $date_us=$don_date['date_heure_formatee']; $timezone = new DateTimeZone('Europe/Paris'); //America/New_York $date_fr = new DateTime($date_us, $timezone); $date_ok = $date_fr->format("d/m/Y à H\hi:s"); // 31/12/20010 à 24h59:59 echo $date_ok;
C'était pas ca!
J'ai beau changer de fuseau horraire (l'objet contenu dans la variable $timezone); rien ne se passe! :(
Une idée? :')
Je commence à désespérer! :°-(
J'ai beau changer de fuseau horraire (l'objet contenu dans la variable $timezone); rien ne se passe! :(
Une idée? :')
Je commence à désespérer! :°-(