5

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

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

4

2 回答 2

6

您可以创建一个常量:

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

然后这样比较:

DateTime? myVariable = returnedFromDb == DefaultDateTime ? default(DateTime?) : returnedFromDb;
于 2012-10-17T07:16:11.060 回答
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();

于 2012-10-17T07:28:06.607 回答