我的要求是我想检查是否Current Time
介于两者之间Specified Times
场景一:
TimeNow: 02:00:00(Tommorow)
TimeSpan To Check 4am To 3am(next day)
场景二:
TimeNow: 06:00:00
TimeSpan To Check 4am To 3am(next day)
我想要 C# 中的上述代码。我没有这样做的逻辑。
此方法为您提供当前时间是否大于或等于 startTime 以及 currentTime 是否小于或等于 endTime
static bool Between(DateTime startTime, DateTime endTime)
{
var currentTime = DateTime.Now;
if (currentTime >= startTime && currentTime <= endTime)
return true;
return false;
}
static bool Between(TimeSpan startTime, TimeSpan endTime)
{
DateTime dt1 = new DateTime(startTime.Ticks);
DateTime dt2 = new DateTime(endTime.Ticks);
return Between(dt1, dt2);
}
假设你的意思是有两次,开始和结束,它们可能发生在午夜的任一侧,但它们之间的间隔总是小于 24 小时,你会想要测试(在伪代码中): -
if (start < end) return start < desired AND desired < end
else return desired < end OR start < desired
即,如果间隔完全在一天之内,则测试它是否在该间隔内,否则如果它在一天结束时结束,则测试它是否在任一片段中。