Форматирование даты в C # теряет разделители слэша - PullRequest
33 голосов
/ 15 июня 2011

Если я сделаю это в C #:

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

Я ожидаю, что результат будет таким:

Wed 6/15/11

Но на самом деле это выводит:

Wed 6 15 11

Почему слэши исчезают? Есть ли способ предотвратить это и вывести дату в ожидаемом формате?

Ответы [ 3 ]

61 голосов
/ 15 июня 2011
Console.WriteLine(DateTime.Now.ToString("ddd M/dd/yy", CultureInfo.InvariantCulture));
            Console.ReadLine();

попробуйте выше

22 голосов
/ 15 июня 2011

Вы также можете использовать

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

Это возможное решение, если вы не используете инвариантную культуру, как указано в других ответах здесь.

7 голосов
/ 02 июля 2015

Поведение «/» (косой черты) в аргументе формата по умолчанию заключается в использовании текущего разделителя даты культуры.

Чтобы использовать символ "/" (косая черта), перед ним должна стоять "\" (обратная косая черта).

Пример: «гггг \\ / MM \\ / dd» всегда будет отображать дату, например «2015/07/02», независимо от используемой культуры.

...