C#获取两个日期在同一行中的小时数之间的日期
c#
在我的程序中,我必须在日期之间过滤 datagridview,但问题是我放置了一个“日期时间”,所以它放置了日/月/年 + 小时/分钟/秒,但我只想按日期过滤,代码我在 C# 中它只有在没有提前几小时/分钟的情况下才有效,有没有人知道我必须做的过程来放置日期并忽略前面的小时?
C#代码:
bimedicoesBindingSource.Filter = string.Format("med_data >= #{0:yyyy/MM/dd}# And med_data <= #{1:yyyy/MM/dd}#", dtpInicial.Value, dtpFinal.Value);
过滤前:
过滤后:
回答
好吧,我对datagridview不是很熟悉,但问题是没有时间的DateTime相当于日期的0h。所以,你实际上是在过滤>='2021-06-17T00:00' and <= '2021-06-17T00:00'.
只需在结束日期前加一天就可以了。
bimedicoesBindingSource.Filter = string
.Format(
"med_data >= #{0:yyyy/MM/dd}# And med_data < #{1:yyyy/MM/dd}#",
dtpInicial.Value,
dtpFinal.Value.AddDays(1));
请注意,我将结束条件更改为<而不是<=因为它是第二天的 0h。