Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#时间间隔不在两个时间间隔之间_C#_Datetime_Timespan_Timeofday - Fatal编程技术网

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
。可以将其关闭,但不排除开始值。