Вы должны понимать, что DateTime
- это просто объект, представляющий момент времени.Он не хранит информацию о том, как он отформатирован.Ниже приведены одинаковые DateTime
, только в разных форматах:
05/16/2018
5/16/2018
, поскольку они представляют один и тот же момент времени .
Это похоже на то, как int
ведет себя.Он также «удалит ваши ведущие нули»:
int a = 05;
Console.WriteLine(a); // just prints "5".
Поскольку 05
и 5
одинаковы int
, что касается int
.
То, будут ли добавлены начальные нули в DateTime
, зависит от того, как вы его отформатируете.Они появляются только тогда, когда вы конвертируете DateTime
в строку.05/16/2018
и 5/16/2018
отличаются string
с.
Если вы хотите, чтобы начальные нули, просто укажите формат даты как dd/MM/yyyy
всякий раз, когда вы хотите вывести его:
Console.WriteLine(dateTime.toString("dd/MM/yyyy")); // prints leading zeroes!