Как отформатировать дату с косой чертой в С#

Когда я пишу дату в С# с помощью

DateTime.Now.ToString("yyyy/MM/dd")

то он возвращает 2010-09-10, но мне нужно 2010/09/10. Как сделать выводные слэши?

Ответ 1

Укажите культуру. Ваша текущая культура использует - для разделителей и то, что ToString по умолчанию (ваша текущая культура), если вы не переопределите ее.

Вы можете попробовать следующее:

DateTime.Now.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture)

но, возможно, было бы лучше, если бы вы указали другую культуру, например, если вы хотите культуру США:

DateTime.Now.ToString("yyyy/MM/dd", CultureInfo.GetCultureInfo("en-US"))

Оба выше предоставят вам/в качестве разделителя.

Ответ 2

Использование

DateTime.Now.ToString("yyyy'/'MM'/'dd");

/- разделитель даты. Он будет заменен в соответствии с текущей культурой. Таким образом, вам нужно заключить его в ), чтобы использовать его как char.

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx#dateSeparator

Ответ 3

Другой способ - указать косые черты как символьные литералы:

DateTime.Now.ToString("yyyy'/'MM'/'dd");
"2010/09/10"