Удалить время из объекта 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, но в этом случае это, вероятно, излишне.
В качестве альтернативы вы можете создать свою собственную роль и сохранить день, месяц и год в виде отдельных числовых переменных.