gpt4 book ai didi

c# - 比较具有不同 'times' 的 DateTime 字段

转载 作者:太空宇宙 更新时间:2023-11-03 18:34:32 28 4
gpt4 key购买 nike

我的程序要求用户输入一个日期,然后将其转换为日期时间:

var fromDate = DateTime.Parse(txtFromDate.Text);

我将它转换为 DateTime 字段的原因是因为我想将它与表中的 DateTime 字段进行比较,如下所示:

var q = gc.GraphicRequests.Where(a => a.DateInWork == fromDate);

但是,有一个问题。当用户输入日期 (6/17/2013) 并将其转换为 DateTime 字段时,结果日期如下所示:6/17/2013 12:00:00 AM

问题是,当我尝试在表中查找与该日期匹配的记录时,我没有得到任何匹配项,因为表中的日期如下所示:6/17/2013 05:上午 35 点或其他时间。所以,日期是正确的,但时间不匹配。

我的问题是,我怎样才能只比较日期而忽略时间呢?我只想要与该日期匹配的每条记录,而不管 DateTime 字段中的时间是什么。

最佳答案

您可以尝试使用 Date属性,表示当前 DateTime 没有任何 Time 部分:

var q = gc.GraphicRequests.Where(a => a.DateInWork.Date == fromDate);

如果 DateInWork 可以为空(即 DateTime?),请使用:

var q = gc.GraphicRequests.Where(a => 
a.DateInWork.HasValue && a.DateInWork.Value.Date == fromDate);

但是,如果您使用的是 Entity Framework ,则可能需要查看 TruncateTime方法:

var q = gc.GraphicRequests.Where(a =>
EntityFunctions.TruncateTime(a.DateInWork).Value == fromDate);

关于c# - 比较具有不同 'times' 的 DateTime 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17303010/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com