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

Ext JS / Sencha Discussion :

Datepicker et format


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 22
    Par défaut Datepicker et format
    Bonjour à tous,

    J'ai une différence de valeur suivant la méthode de retour utilisé ...
    Plus précisément, j'ai une heure de décalage ...
    Si je sélectionne 01-01-2010 dans le datepicker, voici ce que j'obtiens en retour en utilisant :

    getValues (date object)
    Fri Jan 01 2010 00:00:00 GMT+0100 (Paris,Madrid)

    et

    par submit du form et récup de la valeur (POST) dans mon script php
    2009-12-31T23:00:00.000Z

    Une idée du problème ?

  2. #2
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    ce n'est pas un problème mais une caractéristique.

    les date sont en ISO 8601 GMT
    cela permet d'avoir une site international.
    en interne tous les échanges avec le serveur se font ainsi.
    le fichier locale coté client permet d'avoir un affichage dans la langue du pays.
    côté serveur soit tu gère les date en GMT et tu n'a rien à faire soit du les gère en français et tu dois appliquer le décalage à l'écriture et à la lecture.

    A+JYT

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 22
    Par défaut
    Merci pour ta réponse.

    Mais j'ai du mal à comprendre ...
    Pourquoi un décalage alors que le client, en l'occurrence moi même, est basé en Belgique et le serveur en France ?

    Il faut que je me documente sur la gestion des dates en GMT !

    C'est un fameux problème dans le cas d'une gestion d'appli de réservation de chambre d'hôtel car la date à prendre en compte est celle du pays de l'hôtel et non celle du client ...

  4. #4
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    la raison est simple
    à priori lorsqu'on développe une lib comme ExtJS il est impossible de savoir quel décalage horaire existera à l'exécution entre le serveur et le client.

    impossible de savoir à priori quel fuseau pour le serveur
    et encore moins pour les clients qui peuvent en avoir des différents.

    du coup comment garantir que l'information échangé est cohérente.

    mon serveur est en France. j'ai un client au Japon et l'autre au Québec.

    le développer va devoir jongler avec pas mal de changement de dates pour être sur qu'aucune erreur de conversion ne sera introduite.

    il faut évidement compter en plus dan ce dialogue que le protocole ne transporte que du texte.

    la solution retenu est que durant le dialogue les dates seront toujours en ISO-8601 GMT

    pour le serveur cela devient relativement simple quelque soit son client et où qu'il soit toute date émise ou tout date reçue sera en ISO-8601 GMT
    dans mon exemple s'il travaille en interne avec le fuseau Français il fera une conversion GMT -> Paris lorsqu'il recevra une date du client et une conversion Paris -> GMT lorsqu'il enverra des données au client.

    pour le client lorsqu'il reçoit une date du serveur elle est en GMT il lui suffit de faire une conversion dans son fuseau horaire. pour le client au japon GMT -> Tokyo et lorsqu'il poste un formulaire Tokyo -> GMT
    pour le client au Québec même combat GMT -> Halifax à la réception et Halifax -> GMT à l'envoi


    Si on ne définit pas un fuseau pour les échanges il faut informer le client du décalage qu'il a avec le serveur pour qu'il puisse afficher les dates correctement.
    ou au contraire le serveur doit connaître le décalage de tous ses clients pour qu'il puisse lui faire le conversions nécessaires

    A+JYT

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2008
    Messages : 22
    Par défaut
    Merci !

    Ca devient beaucoup plus clair pour moi.
    Je vais plancher un peu sur le sujet.
    Je reviendrai vers toi en cas de problème

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

Discussions similaires

  1. Datepicker format de date
    Par popy67 dans le forum jQuery
    Réponses: 2
    Dernier message: 18/09/2011, 10h59
  2. Datepicker et format date érroné
    Par Bigoodheart dans le forum jQuery
    Réponses: 1
    Dernier message: 21/04/2011, 19h32
  3. Réponses: 6
    Dernier message: 22/10/2010, 20h59
  4. DatePicker d'une DateBox au format français
    Par Jacky31 dans le forum GWT et Vaadin
    Réponses: 4
    Dernier message: 05/08/2010, 10h37
  5. definir format datepicker
    Par mapmip dans le forum Ext JS / Sencha
    Réponses: 1
    Dernier message: 04/11/2009, 22h16

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