检查日期是否在未来24小时内与C#

问题描述:

使用C#测试是否可能在接下来的24小时内包含DateTime“01/29/2016 16:22:00”?我有一个日期是“2016年1月28日15:30”(DateTime.Now),我想知道它是否在24小时内的范围内。我希望我解释一下。检查日期是否在未来24小时内与C#

+1

你想知道'DateTime.Now'是在接下来的24小时内? –

您可以使用AddHours

var myDateTime = ... 
var now = DateTime.Now; 

if (myDateTime <= now.AddHours(24) 
    && myDateTime >= now.AddHours(-24)) 
{ 

} 

还铭记记住这DateTime是不可改变的,它们在创建之后进行修改。这就是为什么AddHours返回一个新的实例。

更新: 看到M.kazem的回答后,我有,虽然你也可以使用:

Math.Abs(myDateTime.Subtract(DateTime.Now).TotalHours) <= 24 
+0

为我的情况你的答案正常工作!谢谢 –

+0

@ Mr.Developer很高兴帮助。另外,更新了我的答案。你也可以使用第二个。 –

(yourDatetime - DateTime.Now) <= TimeSpan.FromHours(24) 
+0

如果你的时间是5年前? – jmoreno

+0

如果'yourDatetime = DateTime.Now.AddHours(-26)';它不会工作。你可以使用'Math.Abs​​'。 –