Есть ли простой способ проверить, является ли временная часть значения DateTime NULL, кроме проверки часов, равной 0, мин. 0 и секунд 0?
DateTime
Спасибо.
Я нахожу это очень читабельным:
var isTimeNull = (myDateTime.TimeOfDay == TimeSpan.Zero);
Вот мои дубли:
var isTimeNull = myDateTime.Date == myDateTime; var isTimeNull = myDateTime.TimeOfDay.TotalSeconds == 0;
И технически время не равно нулю, просто оно не установлено.
DateTime не поддерживает концепцию null только для компонента времени.Либо весь объект DateTime является нулевым (если используется версия с нулевым значением), либо дата и время не равны нулю.Если вы не укажете компонент времени, по умолчанию будет 0 (полночь).
Чтобы избежать делений и проблем с плавающей запятой, используйте:
var isMidnight = myDateTime.TimeOfDay.Ticks == 0;