比较Nullable DateTime变量的默认值

时间:2012-10-17 06:47:45

标签: c# datetime nullable

在我的C#代码中,我有一个DateTime?变量。从数据库获取值时,它可以是null,也可以有一些日期/时间值。

在前端,我不想获得默认值(01-01-1900 12:00:00 am)。什么是比较我的日期变量这个默认日期的最佳方法?

2 个答案:

答案 0 :(得分:6)

您可以创建一个const:

static readonly DateTime DefaultDateTime = new DateTime(1900, 1, 1, 0, 0, 0);

然后以这种方式进行比较:

DateTime? myVariable = returnedFromDb == DefaultDateTime ? default(DateTime?) : returnedFromDb;

答案 1 :(得分:3)

你可以有一个扩展方法,如下所示:

public static class DateTimeExtensions
{
    static DateTime SQL_DEFAULT = new DateTime(1900, 1, 1);

    public static bool IsDefaultValue(this DateTime dateTime)
    {
        return dateTime == SQL_DEFAULT;
    }
}

然后测试一下这个值:

var isDefault = myDate.IsDefaultValue();