gpt4 book ai didi

c# - 不包括最近日期的日期时间比较

转载 作者:太空狗 更新时间:2023-10-30 00:08:00 26 4
gpt4 key购买 nike

我试图理解为什么以下功能不起作用。

public IEnumerable<LogFile> GetLogs(string directory, DateTime start, DateTime end)
{
DirectoryInfo di = new DirectoryInfo(directory);
return di.GetFiles("*debug.log").Where(f => f.LastWriteTime > start && f.LastWriteTime <= end).Select(f => new LogFile(f.FullName));
}

为什么第二次比较(f.LastWriteTime <= end)省略指定的结束日期?

第一次比较(f.LastWriteTime > start)确实包括指定的开始日期。

例如,如果我将开始日期设置为 1/4/2013 并将结束日期设置为 1/8/2013,则函数返回具有以下日期的文件:

2013 年 1 月 4 日,2013 年 1 月 5 日,2013 年 1 月 6 日,2013 年 1 月 7 日

它不会包括 1/8/2013,尽管在代码中使用了 <=。

最佳答案

您正在处理日期和时间值,而不仅仅是日期值。

1/6/2013 4:30不等于 1/6/2013 12:00 ,尽管日期相同。

您可以使用 Date每个 DateTime 的属性获得新对象 DateTime时间始终为午夜的对象。

关于c# - 不包括最近日期的日期时间比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14267031/

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