在 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();
控制器:
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();