Pour une raison quelconque, le code ASP.NET sur mon serveur retourne maintenant un format de jj/mm/aaaa au lieu de MM/jj/aaaa lorsque j'utilise DateTime .ToString ("g"). Plutôt que de remplacer toutes les chaînes au format "g" par une chaîne de format concret ou un argument CultureInfo, y a-t-il un moyen de remplacer, dans l'application, le format "short date" par défaut?changement ASP.NET par défaut pour la culture Date de mise en forme
Ma préférence est réellement "aaaa-MM-jj" comme format par défaut, mais je peux vivre avec le MM/jj/yyyy centré sur les US, comme tous les utilisateurs sont aux États-Unis. Je ne veux pas changer toute la culture par défaut, ce qui pourrait avoir un impact sur des choses telles que la monnaie et l'utilisation de nombres décimaux/virgules dans les nombres de formatage. Je veux juste remplacer tout appel ToString ("g") pour utiliser le format de date ISO/CEI 8824 ("aaaa-MM-jj").
Je pourrais rechercher et remplacer à travers mon code pour forcer un CultureInfo dans chaque appel ToString(), mais cela ne me semble pas la solution la plus maintenable. Ma solution actuelle est que j'ai défini une méthode statique pour le formatage d'une date, et je l'appelle à la place de ToString() sur l'ensemble de ma base de code. Mais encore une fois, si j'oublie de le faire quelque part dans le code, j'aurai encore une date idiote.
La réponse dans l'URL suivante semble plus appropriée que d'écrire une fonction personnalisée: http://stackoverflow.com/questions/5505647/different-datetimeformat-for-the-same-culture-in-different-machines. Il remplace simplement le modèle de la date d'échéance de la culture actuelle. Cependant, ce n'est pas l'idéal. – Feyyaz