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 :

[Dates] TimeStamp et Fuseaux Horaires par date_default_timezone_set()


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 68
    Points : 56
    Points
    56
    Par défaut [Dates] TimeStamp et Fuseaux Horaires par date_default_timezone_set()
    Bonjour,

    Mon Site est international avec un date_default_timezone_set() définit en fonction du fuseau horaire du membre.

    J'ai un formulaire avec une date et une heure (tout est contenu dans $data) de rendez-vous à entrer.

    Le Timestamp est inscrit dans $timestamp par :

    $timestamp = mktime($data['hours'], $data['minutes'], 0, $data['month'], $data['day'], $data['year']);

    Le problème est que si le membre à un fuseau type "Europe/Paris", le timestamp ne change pas s'il à un "America/Adak", alors qu'il devrait...

    Comment faire pour que la date et l'heure entrées retourne un Timestamp en fonction du fuseau horaire choisi ?

    Merci par avance !

  2. #2
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Bonjour,

    S'il est 20h en france et que tu changes ton fuseau horaire, le serveur a toujours 20h mais il croit qu'il est en amerique.

    Tu peux utiliser les fonctions datetime pour calculer facilement l'heure sur un autre fuseau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $date = new DateTime();
    echo 'heure locale : ' . $date->format('H:i:s');
    $fuseau = "America/Adak";
    $tz = new DateTimeZone($fuseau);
    $date->setTimezone($tz);
    echo "<br />heure sur le fuseau $fuseau : " . $date->format('H:i:s');
    ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Conversion de date (fuseaux horaire)
    Par ju1571 dans le forum SQL
    Réponses: 1
    Dernier message: 19/03/2014, 13h26
  2. Parser une date suivi d'un fuseaux horaire (date+02:00) et conversion en Date.
    Par SpeedOverflow dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 30/06/2013, 13h37
  3. Date et fuseaux horaires sous linux C++
    Par lsdfr dans le forum Linux
    Réponses: 7
    Dernier message: 16/07/2008, 18h26
  4. Fuseaux Horaires
    Par grand_duck dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 22/09/2005, 11h31
  5. Réponses: 4
    Dernier message: 06/02/2004, 16h23

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