如果时间是00:00或午夜过后需要加1天?

时间:2017-11-28 03:09:25

标签: c# datetime time

DateTime dt = DateTime.Parse(d["working_date"].ToString());
TimeSpan tm = TimeSpan.Parse(d["despatch_dt_tm"].ToString());
TimeSpan tm3 = TimeSpan.Parse("23:59:59");
TimeSpan end = new TimeSpan(0, 0, 0);

if ((tm > tm3 && tm < end))
{
    dt.Date.AddDays(1);
}

我需要检查tm是否超过午夜而不是需要添加1天。 我尝试使用datetime和timespan不工作。 还有其他办法可以做这种检查吗?

1 个答案:

答案 0 :(得分:0)

这就是我将如何解决你的问题:

在第一次迭代中记住last tm

如果current tm小于last tm

  • 比添加1天
  • 否则将当前tm写为最后

代码示例:

DateTime dt = DateTime.Parse(d["working_date"].ToString());
TimeSpan tm = TimeSpan.Parse(d["despatch_dt_tm"].ToString());

if (tm < lastTm )
{
dt.Date.AddDays(1);
}
else
{
lastTm=tm;
}