web-dev-qa-db-fra.com

Le formatage de date C # perd les séparateurs de barre oblique

Si je fais cela en C #:

Console.WriteLine(DateTime.Now.ToString("ddd M/dd/yy"));

Je m'attendrais à une sortie comme celle-ci:

Wed 6/15/11

Mais cela génère en fait ceci:

Wed 6 15 11

Pourquoi les barres obliques disparaissent-elles? Existe-t-il un moyen d'empêcher cela et de faire sortir la date au format attendu?

37
Jon Tackabury
Console.WriteLine(DateTime.Now.ToString("ddd M/dd/yy", CultureInfo.InvariantCulture));
            Console.ReadLine();

essayez ce qui précède

69
David

Vous pouvez également utiliser

Console.WriteLine(dateTime.ToString("ddd M'/'dd'/'yy"));

C'est une solution possible si vous n'utilisez pas la culture invariante comme mentionné dans d'autres réponses ici.

24
Norbert

Le comportement par défaut du "/" (barre oblique) dans un argument de format est d'utiliser le séparateur de date de culture du courant.

Pour forcer le "/" (barre oblique), vous devez le faire précéder d'un "\" (barre oblique inverse).

Ex.: "Aaaa \\/MM \\/jj" affichera toujours une date comme "2015/07/02" indépendante de la culture actuelle utilisée.

12
BaRtEr