Problème timestamp

Résolu/Fermé
homer59650 - 11 juil. 2010 à 02:56
homer59650 Messages postés 115 Date d'inscription dimanche 29 mars 2009 Statut Membre Dernière intervention 27 décembre 2010 - 11 juil. 2010 à 19:09
Bonjour,
Je n'arrive pas à afficher l'heure comme il faut dans mon système de news ( comme ici: https://forums.commentcamarche.net/forum/affich-15653609-probleme-date-heure-en-timestamp ) J'ai regarder sur cette page, mais je n'arrive pas avec mon code:

Créé le <?php echo date('d/m/Y ', $donnees['timestamp']); ?> à <?php echo date('H\hi', $donnees['timestamp']);
if($donnees['timestamp_modif'] != 0)
{ ?> et modifié le <?php echo date('d/m/Y ', $donnees['timestamp_modif']); ?> à <?php echo date('H\hi', $donnees['timestamp_modif']); }
else
{
} ?>

Dans ce code il à la date et l'heure de modification et de publication.
Maintenant il est environ presque 3:00 et il affiche: 18:00

Merci d'avance

8 réponses

Tu es hebergé chez qui ??
0
Framboos Messages postés 85 Date d'inscription samedi 9 janvier 2010 Statut Membre Dernière intervention 27 septembre 2013 9
Modifié par Framboos le 11/07/2010 à 13:06
Slt,


Essaye ceci :

echo date('d/m/Y à H\hi', time());


Ça devrais t'afficher l'heure actuelle (de ton serveur qui héberge ton site), ca va te permettre de savoir déjà si ca fonctionne et si ça affiche la même heure que ta montre :) sinon a toi de faire un petit calcul pour récup le bon timestamp !!

un petit plus sur la methode "date()" de PHP :
https://www.php.net/manual/fr/function.date.php
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
11 juil. 2010 à 14:01
Salut.
Que t'affiche « echo date_default_timezone_get() » ?

@Framboos : la fonction date() prends déjà le timestamp actuel du serveur par défaut, inutile de le préciser.
0
Framboos Messages postés 85 Date d'inscription samedi 9 janvier 2010 Statut Membre Dernière intervention 27 septembre 2013 9
Modifié par Framboos le 11/07/2010 à 14:16
Oui c'est effectivement ce qui est décri dans la définition, mais par principe j'aime utiliser les surcharges. Mais c'est bien de précisé que pour utiliser le timestamp actuel se paramètre est optionnel !!
0
homer59650 Messages postés 115 Date d'inscription dimanche 29 mars 2009 Statut Membre Dernière intervention 27 décembre 2010 7
11 juil. 2010 à 15:17
J'ai essayer de remplacer:
echo date('d/m/Y ', $donnees['timestamp']);
par
echo date_default_timezone_get();

Il me met:
Créé le America/Los_Angeles à America/Los_Angeles

Et en mettant:
echo date('d/m/Y à H\hi', time());

Il me met:
Créé le 11/07/2010 ? 06h15 à 11/07/2010 ? 06h15

Merci d'avance
0

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

Posez votre question
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
11 juil. 2010 à 15:33
Comme je m'en doutais, le fuseau horaire de ton serveur n'est pas celui de la france.

Ajoute ceci au début de tes scripts (ou dans un fichier inclus dans toutes les pages) :
date_default_timezone_set('Europe/Paris');
0
homer59650 Messages postés 115 Date d'inscription dimanche 29 mars 2009 Statut Membre Dernière intervention 27 décembre 2010 7
11 juil. 2010 à 16:37
J'ai pas vraiment compris ou je devais mettre le code, je remplacer:
echo date_default_timezone_get();
par
echo date_default_timezone_set('Europe/Paris');

Mais je ne pense pas que je dois le mettre comme ça car il me marque que 1
Merci d'avance
0
avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
11 juil. 2010 à 17:33
Il ne faut pas faire un echo, cette fonction modifie un paramètre.
0
Framboos Messages postés 85 Date d'inscription samedi 9 janvier 2010 Statut Membre Dernière intervention 27 septembre 2013 9
Modifié par Framboos le 11/07/2010 à 15:41
Bon voilà t'as des réponses là, c'est que ton serveur est sur le fuseau horaire de Los Angeles donc un décalage de 9h.

Deux Solutions s'offrent à toi:
Modifier le date.timezone dans le php.ini

date.timezone = Europe/Paris
ou
date.timezone = "Europe/Paris"


Ou alors ajouter les 9h de décalage a ton timestamp
$timestamp_ac_decalage = time()+(9*3600); 
echo date('d/m/Y à H\hi', $timestamp_ac_decalage); 



Pour moi je vois que ça comme solutions !!
0
Je doute qu'il ai accès à son php.ini comme chez beaucoup d'hébergeurs. Pour la deuxième solution, elle ne prendra pas en compte l'heure été / hiver.
0
Homer, comme te disait avion-f16.
Tu dois mettre le code :
date_default_timezone_set('Europe/Paris');


Tout en haut de ton script. Cela va corriger le décalage horaire de ton serveur.

A part cela, le code que tu avais mis dans l'explication de ton problème tout en haut étaient parfaitement juste, donc tu peux laisser ton code tel que tu l'avais fait avant de poser la question ici.

Tu dois simplement, ajouter tout en haut de ta page PHP.
<? date_default_timezone_set('Europe/Paris'); ?>
0
homer59650 Messages postés 115 Date d'inscription dimanche 29 mars 2009 Statut Membre Dernière intervention 27 décembre 2010 7
11 juil. 2010 à 19:09
J'ai décider de prendre un hébergeur français et maintenant plus aucun problème, merci à tous.

homer59
0