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。


以上是C#获取两个日期在同一行中的小时数之间的日期的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>