Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 计算DiffDays函数日期时间顺序-较大的日期时间是第一个还是第二个_C#_Linq To Sql_Asp.net Mvc 5_Linq To Entities_Datediff - Fatal编程技术网

C# 计算DiffDays函数日期时间顺序-较大的日期时间是第一个还是第二个

C# 计算DiffDays函数日期时间顺序-较大的日期时间是第一个还是第二个,c#,linq-to-sql,asp.net-mvc-5,linq-to-entities,datediff,C#,Linq To Sql,Asp.net Mvc 5,Linq To Entities,Datediff,我正在编写一个MVC5 internet应用程序,我想编写一个既能处理SQL语句又能处理列表的函数 这是我的密码: public static class TestableDbFunctions { [System.Data.Entity.DbFunction("Edm", "DiffDays")] public static double? DiffDays(DateTime? dateValue1, DateTime? dateValue2) { if

我正在编写一个MVC5 internet应用程序,我想编写一个既能处理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);
    }
}
如您所见,代码计算两个
日期时间之间的天数差

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


请提前感谢。

因为您正在尝试遵从SQL,最接近的类比是。第一个参数是
开始日期
,第二个参数是
结束日期
。代码应该是

return (endDate - startDate).TotalDays;

为什么不返回绝对值?你的意思是你总是想返回一个正值?你能告诉我如何自己计算吗?@user3736648阅读我提供的对
DateDiff
的引用。