[ASP .NET]Forcer web.config à afficher les DateTimes Fr

Là, je suis dans un cas désespéré, j’ai beau dire au web.config que je veux qu’il me traite les dates au format Fr, mais non il ne veut pas savoir, su ma machine la date est affiché au format Anglais, alors que ceeux de mes collègues sont en Fr.

Pour le Web.config :

<system.web> <globalization culture="fr-FR" uiCulture="fr-FR" /> </system.web>

Et ma fonction qui va récupérer la date et qui la parse au format Fr :

[code]public void mafonction()
{
IFormatProvider culture = new CultureInfo(« fr-FR », true);
ViewState[« currentday »] = (DateTime)Session[« date »];
CurrentDate = (DateTime)ViewState[« currentday »];
Hid_Calendar.Text = CurrentDate.ToShortDateString();

	Lbl_Today.Text = DateTime.Parse(CurrentDate.ToLongDateString(), culture).ToLongDateString();

}[/code]

Rien qu’ici, le label Lbl_Today m’affiche la date en Anglais :confused: et ne correspond pas du tout à la date sélectionné dans le calendrier javascript.
Si la date est le 06 Juillet 2006 (ou 06/07/2006) le Label m’affiche par contre le 07 Juin 2006 (07/06/2006).

[quote=« MetalDestroyer, post:1, topic: 29858 »]Et ma fonction qui va récupérer la date et qui la parse au format Fr :

[code]public void mafonction()
{
IFormatProvider culture = new CultureInfo(« fr-FR », true);
ViewState[« currentday »] = (DateTime)Session[« date »];
CurrentDate = (DateTime)ViewState[« currentday »];
Hid_Calendar.Text = CurrentDate.ToShortDateString();

	Lbl_Today.Text = DateTime.Parse(CurrentDate.ToLongDateString(), culture).ToLongDateString();

}[/code]

Rien qu’ici, le label Lbl_Today m’affiche la date en Anglais :confused: et ne correspond pas du tout à la date sélectionné dans le calendrier javascript.
Si la date est le 06 Juillet 2006 (ou 06/07/2006) le Label m’affiche par contre le 07 Juin 2006 (07/06/2006).[/quote]

Le label en anglais, c’est compréhensible puisque .ToShortDateString(), .ToShortTimeString(), .ToLongDateString() et .ToLongTimeString() utilisent la culture invariante.
Utilise plutôt .ToString(« d ») (« D », « d », « T » ou « t ») à la place, elles utilisent la culture courante (celle du Web.config dans ton cas, donc la française).

Sinon la dernière ligne de ton code, avec le passage DateTime > String > DateTime > String, j’ai du mal à saisir…
Tu parses une date « chaîne » anglaise en supposant qu’elle est au format français, donc normal que les mois et les jours puissent être inversés (il doit se démerder faut croire, mais ça doit changer quand on dépasse le jour 12…).

Essaye plutôt ça et dis nous:

public void mafonction() { ViewState["currentday"] = (DateTime)Session["date"]; CurrentDate = (DateTime)ViewState["currentday"]; Hid_Calendar.Text = CurrentDate.ToString("d"); Lbl_Today.Text = CurrentDate.ToString("D"); }

Problème résolu ^^

Je ne m’étais pas rendu compte que je parsais une dateTime converti en string pour le rereconvertir en string >< Merci.