OVH Cloud OVH Cloud

retour des dates d'un Webservice en Anglais, je préférerai en français ?

9 réponses
Avatar
[ Oivier ]
Bonjour

J'utilise un service web hébergé sur une machine en Anglais, donc il me
renvoie un dataset avec les dates et heures en anglais :-(

Comment changer pour que mes dates et heures soient en Français qu'en
j'utilise le webservice ?

Merci
Olivier

9 réponses

Avatar
Patrice
Quel est le type des colonnes concernées ? Je pense notamment que ces
informations ne sont pas tranmises actuellement en tant que dates mais en
tant que texte.

Le plus solide serait de transférer les dates en tant que date, l'apparence
d'une dateb dans une langue particulière à traiter juste avant affichage...

---
Patrice

"[ Oivier ]" a écrit dans le message de news:
4435086c$0$26193$
Bonjour

J'utilise un service web hébergé sur une machine en Anglais, donc il me
renvoie un dataset avec les dates et heures en anglais :-(

Comment changer pour que mes dates et heures soient en Français qu'en
j'utilise le webservice ?

Merci
Olivier



Avatar
[ Oivier ]
ben, je n'ai pas typé la colonne en question
Cela vient peut-être de là ?

dtCol = New DataColumn("Date")
dt.Columns.Add(dtCol)

Merci
Olivier



"Patrice" a écrit dans le message de news:

Quel est le type des colonnes concernées ? Je pense notamment que ces
informations ne sont pas tranmises actuellement en tant que dates mais en
tant que texte.

Le plus solide serait de transférer les dates en tant que date,
l'apparence d'une dateb dans une langue particulière à traiter juste avant
affichage...

---
Patrice

"[ Oivier ]" a écrit dans le message de news:
4435086c$0$26193$
Bonjour

J'utilise un service web hébergé sur une machine en Anglais, donc il me
renvoie un dataset avec les dates et heures en anglais :-(

Comment changer pour que mes dates et heures soient en Français qu'en
j'utilise le webservice ?

Merci
Olivier







Avatar
Delf
[ Oivier ] a écrit :

ben, je n'ai pas typé la colonne en question
Cela vient peut-être de là ?



Pourquoi ne pas faire une fonction qui reçoit en parametre une date et
si elle est en US (expression régulière), la convertir en FR ?

--
Delf
Avatar
[ Oivier ]
ben, parce que je ne connais pas les regex :-(

Olivier

"Delf" a écrit dans le message de news:
44352225$0$14272$
[ Oivier ] a écrit :

ben, je n'ai pas typé la colonne en question
Cela vient peut-être de là ?



Pourquoi ne pas faire une fonction qui reçoit en parametre une date et si
elle est en US (expression régulière), la convertir en FR ?

--
Delf


Avatar
hell
Salut,

"Delf" a écrit dans le message de news:
44352225$0$14272$
[ Oivier ] a écrit :

ben, je n'ai pas typé la colonne en question
Cela vient peut-être de là ?



Pourquoi ne pas faire une fonction qui reçoit en parametre une date et si
elle est en US (expression régulière), la convertir en FR ?




Et comment on sait si une date est au format US ou FR ?? J'ai toujours un pb
avec ça je dois faire 15 fois les verifications!!
quand je recois la string 03-01-2006 bien malin est celui qui peut dire si
il s'agit du 3 janvier (FR) ou du 1er mars(US) si la seule info dont il
dispose est cette chaine.


a+
Avatar
Delf
hell a écrit :

Et comment on sait si une date est au format US ou FR ??



US: xxxx-xx-xx
FR: xx/xx/xxxx ou xx-xx-xxxx

quand je recois la string 03-01-2006 bien malin est celui qui peut dire si
il s'agit du 3 janvier (FR) ou du 1er mars(US) si la seule info dont il
dispose est cette chaine.



Classement: jour < mois < année.

--
Delf
Avatar
Arnaud CLERET
La norme spécifie que les dates quand elles sont transmises dans un flux XML
doivent être au format : yyyy-MM-ddTHH:mm:ssZ sur le fuseau horaire GMT.
Ce format permet du coup d'effectuer le cast vers l'objet DateTime de la
manière suivante :
DateTime.Parse(MaDate,DateTimeFormatInfo.InvariantInfo,DateTimeStyles.AdjustToUniversal);

--
arno - http://www.dotnetguru2.org/acleret/

"hell" a écrit dans le message de
news:
Salut,

"Delf" a écrit dans le message de news:
44352225$0$14272$
[ Oivier ] a écrit :

ben, je n'ai pas typé la colonne en question
Cela vient peut-être de là ?



Pourquoi ne pas faire une fonction qui reçoit en parametre une date et si
elle est en US (expression régulière), la convertir en FR ?




Et comment on sait si une date est au format US ou FR ?? J'ai toujours un
pb avec ça je dois faire 15 fois les verifications!!
quand je recois la string 03-01-2006 bien malin est celui qui peut dire si
il s'agit du 3 janvier (FR) ou du 1er mars(US) si la seule info dont il
dispose est cette chaine.


a+






Avatar
Patrice
Est si tu relis le type ? C'est considéré comme quoi ?

Je typerai les colonnes explictement sous forme de DateTime. Ensuite le flux
XML sera transmis avec effectivement une représentation interne sous la
forme citée dans un autre message mais l'important est surtout que cela sera
totalement transparent pour toi. C'est le problème du .NET Framewrk
d'assurer le transport.

Le dataset sera relu et la colonne sera bien au type date.

Le fond du problème est de bien faire la distinction entre la représentation
interne (et c'est .NET qui se charge de la conversion normalisée en XML pour
la transmission via le service web) et de ne la convertir en texte que juste
avant affichage...


--

"[ Oivier ]" a écrit dans le message de news:
44351904$0$26137$
ben, je n'ai pas typé la colonne en question
Cela vient peut-être de là ?

dtCol = New DataColumn("Date")
dt.Columns.Add(dtCol)

Merci
Olivier



"Patrice" a écrit dans le message de news:

Quel est le type des colonnes concernées ? Je pense notamment que ces
informations ne sont pas tranmises actuellement en tant que dates mais en
tant que texte.

Le plus solide serait de transférer les dates en tant que date,
l'apparence d'une dateb dans une langue particulière à traiter juste
avant affichage...

---
Patrice

"[ Oivier ]" a écrit dans le message de news:
4435086c$0$26193$
Bonjour

J'utilise un service web hébergé sur une machine en Anglais, donc il me
renvoie un dataset avec les dates et heures en anglais :-(

Comment changer pour que mes dates et heures soient en Français qu'en
j'utilise le webservice ?

Merci
Olivier











Avatar
Maxime LAMURE
Bonjour,

Il existe en .NET une notion de "culture" qui va permettre de résoudre ton
problème très facilement.
En sortie, on voit bien que pour une même date, on a 04/07/2006 en US et
07/04/2006 en FR.
Je te conseille donc de récuperer ton DateTime via WebService, et de
modifier sa culture.
Ici, je récupère tous les formats de Date pour chaque culture:
IFormatProvider cultureUS = new System.Globalization.CultureInfo("en-US",
true);

IFormatProvider cultureFR =new System.Globalization.CultureInfo("fr-FR",
true);

DateTime date = DateTime.Now;

string[] dateUS = date.GetDateTimeFormats(cultureUS);

string[] dateFR = date.GetDateTimeFormats(cultureFR);


Console.WriteLine("FR");

foreach (string format in dateFR)

{

System.Console.WriteLine(format);

}

Console.WriteLine("US");

foreach (string format in dateUS)

{

System.Console.WriteLine(format);

}

Console.ReadLine();

J'éspère avoir répondu à ta question.

Maxime LAMURE

"[ Oivier ]" wrote in message
news:4435086c$0$26193$
Bonjour

J'utilise un service web hébergé sur une machine en Anglais, donc il me
renvoie un dataset avec les dates et heures en anglais :-(

Comment changer pour que mes dates et heures soient en Français qu'en
j'utilise le webservice ?

Merci
Olivier