C# 尝试获取if语句以检查从某个日期起或到某个日期的时间

C# 尝试获取if语句以检查从某个日期起或到某个日期的时间,c#,datetime,C#,Datetime,此if语句不会触发,只会转到下面的其他if语句,我需要它检查自下单以来是否少于48小时,到交货日期/时间是否少于48小时(创建订单时创建日期) 距离交货日期/时间不到48小时 所以时间应该在未来DateTime.Now.AddHours(-48)是关于过去的 更好的检查方法是: order.CDeliveryDate < DateTime.Now.AddHours(48) order.CDeliveryDateDateTime.Now&&order.CDeliveryDate48){}您

此if语句不会触发,只会转到下面的其他if语句,我需要它检查自下单以来是否少于48小时,到交货日期/时间是否少于48小时(创建订单时创建日期)

距离交货日期/时间不到48小时

所以时间应该在未来
DateTime.Now.AddHours(-48)
是关于过去的

更好的检查方法是:

order.CDeliveryDate < DateTime.Now.AddHours(48)
order.CDeliveryDate
但这还不是全部,因为您还必须检查下限(否则您将以过去的交付日期结束):

order.CDeliveryDate>DateTime.Now&&order.CDeliveryDate
TimeSpan ts=DateTime.Now-otherDate;如果(ts.TotalHours>48){}
您两次都添加了负号48,只需删除第二次添加的负号
AddHours
@juharr No,这还不是全部。如果你这样做,它也会占用过去所有的交货日期。@Patrickhoffman它说距离交货日期/时间不到48小时,所以如果它已经交货,这是一个负数,小于48。真的,你应该问OP是否需要额外检查交付是否已经发生,因为这里没有上下文来说明这一点。@juharr这可能是我对英语的误解,但据我所知,直到永远意味着未来的事情。
order.CDeliveryDate < DateTime.Now.AddHours(48)
order.CDeliveryDate > DateTime.Now && order.CDeliveryDate < DateTime.Now.AddHours(48)