2010-04-19 12 views
5

Je suis en train de convertir un couple de sites jusqu'à .net 4.0 et je semble avoir un problème avec la régionalisation des dates.Format de date brisé en .net 4.0 pour le format anglais

Ce code:

Date.Today.AddDays((Date.Today.DayOfWeek - 1) * -1).ToString() 

Dans .NET 3.5 produit: '19/04/2010 00:00:00' mais dès que je change la piscine de l'application à 4.0 il produit: « 4/19/2010 12:00:00 AM '

Où puis-je changer le réglage qui régit ceci?

+0

Juste pour clarifier, j'ai déjà mis Cultire et UI Culture mis en-GB dans. Net Globalization dans iis mais il semble ignorer complètement ce paramètre! –

+0

Pourriez-vous poster votre web.config? –

+0

Je n'ai aucune configuration de globalisation dans le web.config, en fait, l'ajout d'une section de globalisation résout le problème pour le site en question mais je ne devrais pas avoir à le faire pour tous les sites que je veux utiliser depuis 2.0 et 3.5 Je n'ai jamais eu de problème! –

Répondre

2

Je ne pense pas que vous pouvez essayer au lieu si ...

Date.Today.AddDays((Date.Today.DayOfWeek - 1) * -1).ToString(dd/MM/yyy hh:mm:ss); 

Cela devrait formater la date que vous en avez besoin.

Microsoft a essentiellement reconstruit beaucoup de choses à partir de zéro pour .net 4.0 ... c'est une douleur dans certains domaines comme celui-ci mais un réel avantage dans d'autres.

Je suis un gars sur un autre forum qui a un énorme projet composé de milliers de lignes de code qu'il doit maintenant aller chercher et remplacer sur ses instructions datetime.tostring.

La meilleure pratique a toujours été que vous deviez spécifier le format de toute façon, sinon vous obtenez ce que décide le framework.

Espérons que cela aide.