IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Résultat de conversion d'un timestamp en date différent entre Windows et Linux [PHP 5.3]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 285
    Par défaut Résultat de conversion d'un timestamp en date différent entre Windows et Linux
    Bonjour / Bonsoir,
    Je viens de passer pas mal de temps sur un souci assez genant = la traduction d'un timestamp en date donne des résultats différents entre Windows et Linux ...

    Voici un exemple de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    $start = 1306447200000 / 1000;
    echo date("Y-m-d H:i:s", $start);
    ?>
    Sous Linux, j'obtiens :
    2011-05-27 00:00:00

    Alors que sous windows, j'obtiens :
    2011-05-26 22:00:00

    J'ai fait le test avec plusieurs valeurs et j'ai toujours un décalage de deux heures ...

    De ce que j'ai vu les machines sont sur le même fuseau horaire ...

  2. #2
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Bonjour,

    On dirait quand même qu'il y a un décalage de timezone.

    Pour être sûr, tu pourrais en faire un echo et comparer sur les 2 serveurs ?
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    echo date_default_timezone_get();
    ?>

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 285
    Par défaut
    Alors la machine Linux répond : Europe/Berlin
    Et la machine Windows répond : UTC

    Dans le doute, j'ai été regardé dans les paramètres des deux machines :
    * Linux (Ubuntu) : Régler sur Paris,
    * Windows (W7) : Régler sur Bruxelles, Copenhage, Paris (UTC + 1).

    Ce qui est bizarre c'est que le timestamp est issu d'un getTime() en javascript du navigateur. J'ai fait le test sur les différentes machines (Linux et Ubuntu) et pour une même date/heure j'obtiens toujours les même timestamp ...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    date_default_timezone_set('Europe/Paris');
    (ou configure le dans ton php.ini)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 285
    Par défaut
    Merci effectivement cela résout le souci. Je passe donc la fiche en résolue.

    Par contre cela risque de me poser un souci un jour si quelqu'un utilise l'application depuis une machine sur un fuseau différent du serveur (c'est un composant javascript qui donne les timestamp ...).

    Merci de votre aide.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Comme tu l'as remarqué, le timestamp ne change pas en fonction du fuseau.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Compter le nombre de dates différentes (entrées parfois multiples)
    Par Solex dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 26/01/2014, 08h17
  2. [XL-2007] Format date différent entre textbox et excel
    Par catetesse dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 26/10/2011, 10h14
  3. [MySQL] Format de date différent entre PHP et ASP
    Par lekev62 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 30/06/2009, 12h36
  4. probleme de conversion d'un timestamp en date
    Par mimaaaa dans le forum JSF
    Réponses: 8
    Dernier message: 27/10/2008, 18h49
  5. Réponses: 9
    Dernier message: 10/08/2004, 17h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo