DateTime.Today.ToString( "dd/mm/yyyy" ) возвращает недопустимое значение DateTime - программирование
Подтвердить что ты не робот

DateTime.Today.ToString( "dd/mm/yyyy" ) возвращает недопустимое значение DateTime

Я пытаюсь получить сегодняшнюю дату в формате GBR, но

DateTime.Now.ToString("dd/mm/yyyy");

возвращает значение 08/00/2013

Так что 00 в группе месяца было возвращено вместо месяца 04.

Любые идеи, почему это произошло?

4b9b3361

Ответ 2

используйте MM (месяцы) вместо MM (минут):

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

проверьте здесь для получения дополнительных параметров формата.

Ответ 4

Используйте MM в течение нескольких месяцев. MM - минуты.

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

Вероятно, вы запускаете этот код в начале часа, как (00:00, 05.00, 18.00), а MM указывает минуты (00) на время datetime.

Из Custom Date and Time Format Strings

"mm" → Минута, от 00 до 59.

"ММ" → Месяц, с 01 по 12.

Вот DEMO. (Которая часть месяца первой строки зависит от того, в какое время вы запускаете этот код ;))

Ответ 5

В дополнение к тому, что говорили другие ответы, обратите внимание, что символ "/" в "dd/MM/yyyy" не является буквальным символом: он представляет собой разделитель даты текущей пользовательской культуры. Поэтому, если текущая культура использует даты yyyy-MM-dd, тогда при вызове toString она даст вам дату, такую ​​как "31-12-2016" (используя тире вместо косой черты). Чтобы заставить его использовать косые черты, вам нужно избежать этого символа:

DateTime.Now.ToString("dd/MM/yyyy")     --> "19-12-2016" for a Japanese user
DateTime.Now.ToString("dd/MM/yyyy")     --> "19/12/2016" for a UK user
DateTime.Now.ToString("dd\\/MM\\/yyyy") --> "19/12/2016" independent of region