-3

我的要求是我想检查是否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# 中的上述代码。我没有这样做的逻辑。

4

2 回答 2

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);
}
于 2013-09-12T06:18:59.667 回答
0

假设你的意思是有两次,开始和结束,它们可能发生在午夜的任一侧,但它们之间的间隔总是小于 24 小时,你会想要测试(在伪代码中): -

 if (start < end) return start < desired AND desired < end
 else return desired < end OR start < desired

即,如果间隔完全在一天之内,则测试它是否在该间隔内,否则如果它在一天结束时结束,则测试它是否在任一片段中。

于 2013-09-12T06:32:36.460 回答