Fonction NOW()

Par Abdi Farah, il y a 10 ans


Bonjour,
J'ai un probleme, et non une erreur en utilisant la fonction "NOW()", en faite, l'heure et decaler de deux heure :/ ! Du style la il est 18:03:37, dans la table, il y aura écrit : 16:03:37 !
http://prntscr.com/879w0c
Une idée ? J'avais penser a un décalage horaire.

9 réponses

TransientDev, il y a 10 ans

Bonjour,
il faut changer ta timezone php ou ajouter les heures manuellement. Il te donne l'heure pour le fuseau horaire GMT hors nous somme a GMT +1 et si on ajoute l'heure d'été ça donne les deux heure que tu a remarqué

Abdi Farah, il y a 10 ans

Comment faire cela, car j'y avait penser, donc chercher sur google, mais j'ai rien trouver :|
Sachant que j'ai déjà sa dans mon fichier config :

// setlocale(LC_TIME, 'fr_FR.UTF8');
// setlocale(LC_TIME, 'fr_FR');
// setlocale(LC_TIME, 'fr');
setlocale(LC_TIME, 'fra_fra');

TransientDev, il y a 10 ans
<?php date_default_timezone_set('Europe/Paris'); ?>

Tu peux retrouver la liste des fuseaux horaires disponibles ici

Si tu veux le faire d'une maniere globale, va dans ton php.ini et met

date.timezone = "Europe/Paris"

Abdi Farah, il y a 10 ans

Comme je l'ai dit au dessus, j'avais un code de ce genre, mais même le votre ne fonctionne pas :/

TransientDev, il y a 10 ans

Sinon tu peux toujours ajouter les heures manuellement.

Abdi Farah, il y a 10 ans

Comment ça ? Mais en faite avec ça, j'enrengistre les visiteurs qui passe sur le site et donc il me faudrait, la date en ce momment !

Abdi Farah, il y a 10 ans

Je vois ce que vous voulez dire enfaite ;) !

<?php echo date('Y-m-d H:i:s'); // 2012-10-11 15:35:53 echo date('l j F Y, H:i'); // Thursday 11 October 2012, 15:35 echo date('d F Y'); // 11 October 2012 echo date('d/m/Y'); // 11/10/12 ?>

EDIT : Même avec un echo cela m'affiche : http://prntscr.com/87a9n3

TransientDev, il y a 10 ans
<?php $now = new DateTime(); $hours = date_interval_create_from_date_string('2 hour'); $now->add($hours); echo $now;