计算 DiffDays 函数 DateTime order - 较大的 DateTime 排在第一位还是第二位

Calculate DiffDays function DateTime order - Does the larger DateTime come first or second

我正在编写一个 MVC 5 互联网应用程序,我想编写一个函数,它既可以与 SQL 语句一起使用,也可以与列表一起使用。

这是我的代码:

public static class TestableDbFunctions
{
    [System.Data.Entity.DbFunction("Edm", "DiffDays")]
    public static double? DiffDays(DateTime? dateValue1, DateTime? dateValue2)
    {
        if (!dateValue1.HasValue || !dateValue2.HasValue)
            return null;

        return (double)((dateValue2.Value - dateValue1.Value).TotalDays);
    }
}

如您所见,代码计算了两个 DateTimes.

之间的天数差异

我的问题是:代码应该是(dateValue2.Value - dateValue1.Value).TotalDays还是(dateValue1.Value - dateValue2.Value).TotalDays

提前致谢。

由于您试图遵守 SQL,最接近的类似物是 DateDiff。第一个参数是 start date,第二个参数是 end date。代码应该是

return (endDate - startDate).TotalDays;