c#时间间隔不在两个时间间隔之间
有今天的日期,例如:c#时间间隔不在两个时间间隔之间,c#,datetime,timespan,timeofday,C#,Datetime,Timespan,Timeofday,有今天的日期,例如:DateTime.Now 和表示两个时间段的2 TimeSpan DateTime mydate = DateTime.Now; TimeSpan start = TimeSpan.Parse("14:00:00"); TimeSpan end = TimeSpan.Parse("15:00:00"); // TO DO: 如何检查mydatetime(TimeOfDay)是否不在start和end范围内 基本上检查小时、分钟、秒是否在14:00和15:00之间或
DateTime.Now
和表示两个时间段的2 TimeSpan
DateTime mydate = DateTime.Now;
TimeSpan start = TimeSpan.Parse("14:00:00");
TimeSpan end = TimeSpan.Parse("15:00:00");
// TO DO:
如何检查mydate
time(TimeOfDay)是否不在start
和end
范围内
基本上检查小时、分钟、秒是否在14:00和15:00之间或超出此范围
更新:
正确的条件是:
mydate.TimeOfDay=end
比较它们似乎很有效TimeOfDay
是一个TimeSpan
就像start
和end
Console.WriteLine(mydate.TimeOfDay <= start || mydate.TimeOfDay >= end);
Console.WriteLine(mydate.TimeOfDay=end);
TimeSpan
不代表两个小时。它代表一段时间,在您的情况下是14小时和15小时,而不是下午2点和3点。谢谢。我做了更改。@MarcinJuraszek,但它可以表示时间,如果是天,正如toby的回答所示。正确的条件是:mydate.TimeOfDay=end
。我会将您的答案标记为正确,以便将我发送到正确的方向。@user2818430谢谢您最初是查看我更新时是否在间隔内忘记将&&更改为| |通常时间范围是半开间隔[开始,结束)
。若要在范围内进行测试,请使用time>=start&&time
。若要在范围外进行测试,请使用time=end
。可以将其关闭,但不排除开始值。