Question

Pour une raison quelconque, le code ASP.NET sur mon serveur renvoie désormais le format jj / MM / aaaa au lieu de MM / jj / aaaa lorsque j'utilise < strong> DateTime.ToString ("g") .

Plutôt que de remplacer tous les " g " Chaînes de format avec une chaîne de format concrète ou un argument CultureInfo, puis-je simplement remplacer, par le biais de l'application, la valeur par défaut "Date courte"? format?

Ma préférence est en fait "aaaa-MM-jj" format par défaut, mais je peux vivre avec le MM / jj / aaaa centré sur les États-Unis, car tous les utilisateurs se trouvent aux États-Unis.

Clarification: je ne souhaite pas modifier la totalité de la culture par défaut, ce qui pourrait avoir une incidence sur des facteurs tels que la monnaie et l'utilisation de décimales / virgules dans le formatage des nombres.

Je souhaite simplement remplacer tout appel de ToString ("g") pour utiliser le format de date ISO / CEI 8824 ("aaaa-MM-jj").

Je pourrais rechercher et remplacer mon code pour forcer un CultureInfo à chaque appel ToString (), mais cela ne me semble pas être la solution la plus facile à gérer.

Ma solution actuelle est que j'ai défini une méthode statique pour formater une date et que 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 loufoque.

Était-ce utile?

La solution 2

La définition de la culture n'était pas une option, ni en fonction des paramètres régionaux du serveur.

J'ai fini par écrire une fonction utilitaire pour le formatage des dates:

Public Shared Function FormatShortDate(ByVal d As Date) As String
    If d=#1/1/0001# Then Return ""
    If d=#1/1/1900# Then Return ""
    'ISO/IEC 8824 date format
    Return d.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture)
End Function

J'appelle cela partout où j'ai besoin d'indiquer une date à l'utilisateur. Il gère également l’affichage des dates par défaut ("magiques").

J'ai écrit des fonctions similaires pour FormatShortDateTime et FormatLongDateTime.

Autres conseils

Vous pouvez définir la culture par défaut au niveau de la directive web.config (niveau de l'application) ou de la directive de contrôle.

J'ai plusieurs applications dans lesquelles les pages maîtres sont configurées pour différentes cultures, et les pages et les contrôles en héritent.

Vous pouvez manipuler le format de date courte en modifiant le paramètre dans les paramètres régionaux du panneau de configuration de votre serveur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top