Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
Tout d'abord je vous souhaite une Bonne Année 2014.
En fait, j'ai besoin de votre aide..
J'ai un champ dans une datawindow de type date, la propriété de ce champ :
- Style Type = EditMask
- Mask : dd/mm/yyyy
Quand le format de date courte dans les options régionales est : jj/MM/aaaa ==> dans ce cas il n'y a aucun problème
Par contre, quand le format de date courte dans les options régionales est : MM/jj/aaaa ==> alors il y avait deux cas de figure :
1/ Par défaut, PowerBuilder affiche une date erronée, pour aujourd'hui la date affichée est le 01/06/2014 (le 1er juin) et dans la base il stocke cette donnée en tant que le 1er juin.
2/ Quand j'ouvre la Drop-Down Calendrier puis je clique sur l'icône Aujourd'hui, la date est corrigée et devient le 06/01/2014 (le 6 janvier).
Si j'ai bien compris, dans la propriété du champ date je suis en train de spécifier un format obligatoire d'affichage : dd/mm/yyyy mais malgrés ça PowerBuilder ne déduit pas correctement la date 06/01/2014.
Le problème c'est que notre application est utilisée en plusieurs langue et je crois que le format du date dépend la langue :
Si Français : jj/MM/aaaa
Si Anglais : M/j/aaaa
Donc on aura des problèmes quand le format date est M/j/aaaa.
Avez-vous des idées pour y remédier ? Comment vous gérez les dates dans vos applications ?
Merci pour votre aide
Hors ligne
Bonjour,
Et si tu ajustais le masque sur le format des options régionales ?
Hors ligne
erasorz a écrit:
Bonjour,
Et si tu ajustais le masque sur le format des options régionales ?
Bonjour erasorz,
Si j'ai bien compris ton idée, je dois modifier le masque sur le format des options régionales sur le poste utilisateur une fois l'application est lancée ?
En fait, je préfère garder la configuration sur le poste utilisateur ..
Hors ligne
Bonjour,
Dans ce que tu exposes, tu précises simplement le masque de saisie. Tu ne précise pas le masque d'affichage (onglet format), il me paraît alors logique que le format de date s'affiche selon les options régionales du poste.
Hors ligne
Petite question à 2 balles : est-ce que tu es *sûr* que la date n'est pas bricolée avant l'affichage dans l'editmask, ou en lisant la valeur de l'editmask pour la mettre dans la base ?
Je pense à un piège du genre fabrication d'un sql dans une string qui convertirait la date avec un string(date) sans préciser le format voulu : quand le format régional de date est le même que celui du poste de dev ça fonctionne (en apparence) mais sur un autre poste avec une autre config ça merde. On s'est déjà fait avoir par ce genre de code ici...
Sinon une idée qui m'a été soufflée : en affichant le "dropdown calendar" de l'editmask et en allant à "aujourd'hui", quelle est la date affichée et quelle est la date enregistrée ?
Hors ligne