有没有简单的方法来检查DateTime
值的时间部分是否为NULL,而不是检查小时为0,min为0且sec为0?
感谢。
答案 0 :(得分:17)
我觉得这很可读:
var isTimeNull = (myDateTime.TimeOfDay == TimeSpan.Zero);
答案 1 :(得分:15)
以下是我的观点:
var isTimeNull = myDateTime.Date == myDateTime;
var isTimeNull = myDateTime.TimeOfDay.TotalSeconds == 0;
从技术上讲,时间不是空的,它只是没有设置。
答案 2 :(得分:1)
为避免分歧和浮点精度问题,请使用:
var isMidnight = myDateTime.TimeOfDay.Ticks == 0;
答案 3 :(得分:1)
DateTime不支持时间组件的null概念。整个DateTime对象为null(如果使用可空版本),或者日期和时间都为非null。如果您没有指定时间组件,它将默认为0(午夜)。