我的要求是,我想检查Current Time
是否落在两个Specified Times
情景1:
TimeNow: 02:00:00(Tommorow)
TimeSpan To Check 4am To 3am(next day)
情景2:
TimeNow: 06:00:00
TimeSpan To Check 4am To 3am(next day)
我想在C#中使用上面的代码。 我没有得到这样做的逻辑。
答案 0 :(得分:0)
此方法为您提供当前时间是否大于或等于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);
}
答案 1 :(得分:0)
假设你的意思是有两次,开始和结束,它们可能发生在午夜的两边,但它们之间的间隔总是少于24小时,你会想要测试(伪代码): - < / p>
if (start < end) return start < desired AND desired < end
else return desired < end OR start < desired
即。如果间隔完全在一天之内,则测试它是否在该间隔内,否则如果它包裹在一天结束时测试它是否在任何一个片段中。