C#DateTime - 如何检查时间部分是否为空?

时间:2011-09-09 11:08:38

标签: c# datetime null

有没有简单的方法来检查DateTime值的时间部分是否为NULL,而不是检查小时为0,min为0且sec为0?

感谢。

4 个答案:

答案 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(午夜)。