Ответ 1
Нижний mm
означает минуты, поэтому
DateTime.Now.ToString("dd/MM/yyyy");
или
DateTime.Now.ToString("d");
или
DateTime.Now.ToShortDateString()
Я пытаюсь получить сегодняшнюю дату в формате GBR, но
DateTime.Now.ToString("dd/mm/yyyy");
возвращает значение 08/00/2013
Так что 00
в группе месяца было возвращено вместо месяца 04
.
Любые идеи, почему это произошло?
Нижний mm
означает минуты, поэтому
DateTime.Now.ToString("dd/MM/yyyy");
или
DateTime.Now.ToString("d");
или
DateTime.Now.ToShortDateString()
используйте MM
(месяцы) вместо MM
(минут):
DateTime.Now.ToString("dd/MM/yyyy");
проверьте здесь для получения дополнительных параметров формата.
Он должен быть MM
в течение нескольких месяцев. Вы просите минуты.
DateTime.Now.ToString("dd/MM/yyyy");
Подробнее см. Пользовательские строки формата даты и времени в MSDN.
Используйте 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
. (Которая часть месяца первой строки зависит от того, в какое время вы запускаете этот код ;)
)
В дополнение к тому, что говорили другие ответы, обратите внимание, что символ "/" в "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