我有以下代码,
现在的问题是,预测这种情况的最佳方式是什么:
另请注意“minAdd”可以通过60,意味着90分钟加(一小时半等)
感谢,
int minAdd = Convert.ToInt16(txtMinAdd.text);
DateTime now = DateTime.Now;
DateTime nextEvent = DateTime.Now.AddMinutes(minAdd);
TimeSpan diff = now - nextEvent;
if (diff > minAdd) -------------- PROBLEM HERE
{
//act here
}
答案 0 :(得分:4)
nextEvent
。
我怀疑你只是想要:
if (diff.TotalMinutes > minAdd)
{
}
或者您可以使用:
TimeSpan minTimeSpan = TimeSpan.FromMinutes(Convert.ToInt16(txtMinAdd.text));
...
if (diff > minTimeSpan)
{
}
答案 1 :(得分:1)
由于diff
基于完全基于nextEvent
的{{1}},因此没有理由进行此项检查 - 它永远不会成立。
此外,在您的代码中,如果minAdd
为正数,diff
将始终为负数,因为您从minAdd
中减去未来事件(nextEvent
)
如果您尝试安排在某个时间点发生事件,您可能需要考虑使用DateTime.Now
,并根据事件时间安排计时器在某个时间点发生: / p>
Timer