在 C# 中比较两个日期

Compare two Dates in c#

控制器:

public JsonResult TestArray(string id)
{
    //warehouse_order warehouse_order = new warehouse_order();
    int[] finishedOrders = new int[8];
    int countErledigt;

    var stichtag = DateTime.Today;
    for (int i = 0; i < 8; i++)
    {
        stichtag = DateTime.Today.AddDays(-i);
        countErledigt = db.warehouse_order.Where(c => c.end_time == stichtag ).Count();
        finishedOrders[i] = countErledigt;
    }

    int[] test = finishedOrders;

    return Json(test, JsonRequestBehavior.AllowGet);
}

型号:

[DisplayName("Erledigt am")]
[DataType(DataType.Date)]
public Nullable<System.DateTimeOffset> end_time { get; set; }

我无法比较控制器中的两个日期。 知道我该怎么做吗? 非常感谢

因为你的 end_time 属性 的类型是 Nullable<System.DateTimeOffset>,而 stichtag 的类型是 DateTime,你不能直接比较它们。

您应该从 end_time 中提取 DateTime 部分,或者将 stichtag 包装到 DateTimeOffset

因为在 LINQ to Entities 中,您不能在 Where 表达式中使用未映射到数据库列的属性 - 您唯一的选择是第二个:

var stichtag = new DateTimeOffset(DateTime.Today.AddDays(-i));
countErledigt = db.warehouse_order.Where(c => c.end_time == stichtag).Count();