设定时间为23:59:59

Mik*_*lls 29 c# time datetime

可能重复:
如何使用DateTime指定一天中的最新时间

我需要比较日期范围和缺少的行,其中日期是比较日期较高但时间高于午夜.有没有办法将上部比较的时间设置为23:59:59?

Web*_*euw 54

这是一个可能的解决方案:

yourDateTime.Date.AddHours(23).AddMinutes(59).AddSeconds(59);
Run Code Online (Sandbox Code Playgroud)

  • 只希望23:59:59.500的时间没什么. (26认同)
  • 我理解低调,它不是最好或最迷人的解决方案.但是,我很高兴它回答了这个问题(从技术上讲,它符合所陈述的问题;-)). (2认同)
  • 日期时间开始日期 = DateTime.Now.Date; DateTime endDate= startDate.AddDays(2).Add(new TimeSpan(23, 59, 59)); // 结果 : 开始日期: 28/9/2017 0:0:0 结束日期: 29/9/2017 23:59:59 (2认同)

Jon*_*eet 38

为什么不在您感兴趣的最后一天之后的第二天午夜比较,然后使用独家比较?

DateTime upperExclusive = lastInclusive.Date.AddDays(1);
if (dateInclusive >= date && date < upperExclusive)
{
    ....
}
Run Code Online (Sandbox Code Playgroud)

这感觉就像找到当天的最后一秒更清洁的解决方案 - 除了其他任何东西,你仍然会错过23:59:59.500等值与你当前的计划.

强制性插件:我不是BCL日期/时间API的忠实粉丝.您可能希望密切关注Noda Time - Joda Time to .NET 的端口.

  • 你也可以做lastInclusive.Date.AddDays(1).AddTicks(-1),它会给你23:59:59.999999 :) (4认同)