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

PHP & Base de données Discussion :

table de fuseau horaire [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 175
    Points : 138
    Points
    138
    Par défaut table de fuseau horaire
    Bonjour,

    pour mon site je souhaite que l'utilisateur puisse choisir son fuseau horaire dans les parametres de son compte.
    Pour cela je pense que le mieux c'est d'avoir une table répertoriant tous les fuseaux horaires.

    ma question c'est est ce qu'il n'y a pas mieux de disponible ? En regardant dedans j'ai remarqué un petit peu de désordre et quelques doublons. Rien de dramatique mais cela me fait douter de la qualitée de cette table.
    Entre toutes les plates formes disponible comme wordpress, mediawiki et autres frameworks, n'y a t'il pas un qui fourni une table de fuseau horaire irréprochable et libre de droits que je pourrai utiliser ?

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 175
    Points : 138
    Points
    138
    Par défaut
    Bon finalement j'ai trouvé la bonne fonction en php:
    http://php.net/DateTimeZone.listIdentifiers

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $timezone_identifiers = DateTimeZone::listIdentifiers();
    foreach ($timezone_identifiers as $v) {
        echo "$v<br>";
    }
    du coup dans un premier temps je pense que je vais simplement gérer ça en php.

  3. #3
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    je ne sais pas si la liste fournie est exhaustive.
    N'oublie pas que tu peux aussi avoir des données du genre UTC+0800 qui sont valides également.

    Y a des années de ça, j'ai eu besoin d'une classe gérant absolument tous les cas de figure relatifs aux fuseaux horaires et j'ai dû la coder avec mes mimines, pas moyen de remettre la main dessus. Doit être sur un disque archivé. Je vais regarder.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 175
    Points : 138
    Points
    138
    Par défaut
    Dans la doc PHP il est dit "tous les identifiants de fuseaux horaires définis".

    Donc pour une utilisation avec des objets datetime, même si je disposais d'une liste plus complète d'identifiants, ceux qui ne sont pas répertoriés dans PHP ne serait pas très utiles puisque non reconnu.

    Les données du type "UTC+0800" sont reconnu par les objets datetime ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $date = new DateTime('2000-01-01', new DateTimeZone('UTC+0800'));
    si oui, c'est intéressant à savoir.

    Je pense me contenter d'enregistrer pour chaque utilisateur l'identifiant du fuseau horaire lorsqu'il en choisi un différent de celui par defaut.
    Le surplus de données a stocker par rapport a une id vers une table fuseau_horaires sera negligeable pour le moment.
    Avec cette méthode je pourrai aussi plus facilement enregistrer les données de type 'UTC+xxxx' si je décide de laisser l'utilisateur choisir décalage horaire numériquement.

    Une classe qui gèrent tous les cas de figures ??

    Bon en même temps tu dis qu'elle a quelques années, donc elle n'est peut être plus a jour. Certains pays ont abandonné les changement d'heure en hiver/été par exemple, est tu as jour à ce niveau là ?
    Sur le long terme, gérer ce genre de données soi même ça doit être un peu compliqué. Pour mes besoins, je pense que la liste fourni par PHP devrait largement suffire.

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

Discussions similaires

  1. Fuseau horaire apache
    Par Link3 dans le forum Apache
    Réponses: 2
    Dernier message: 09/07/2006, 13h55
  2. fuseau horaire en vb6
    Par john stedd dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 27/06/2006, 17h02
  3. Date - fuseau horaire
    Par sparton dans le forum Collection et Stream
    Réponses: 16
    Dernier message: 11/01/2006, 15h46

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