Удалить время из объекта DateTime

У меня есть Datetime объект, и я хочу удалить часть времени из него. Я попробовал следующую строку кода, но все же auth.dob содержит time, Как я могу просто установить 2017-01-01 в этом?

auth.dob = Convert.ToDateTime("2017-01-01").Date;

1 ответ

К сожалению,.Net не включает тип, который хранит только дату. Обычно мы используем DateTime и устанавливаем время в полночь. Затем, когда вы выводите значение, вы просто пропускаете время при его отображении, смотрите DateTime.ToString (string), DateTime.ToShortDateString () и DateTime.ToLongDateString ().

Хотя это работает, это приводит к разным путаницам. Я часто чувствовал, что было бы лучше иметь структуру Date, структуру Time и структуру DateTime, которая была бы композицией двух других. Но, к сожалению, это не так.

Есть библиотека Noda Time, но в этом случае это, вероятно, излишне.

В качестве альтернативы вы можете создать свою собственную роль и сохранить день, месяц и год в виде отдельных числовых переменных.

Другие вопросы по тегам