检查c#中两个时间值之间的时间是否下降

时间:2013-09-12 06:06:56

标签: c# asp.net c#-4.0

我的要求是,我想检查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#中使用上面的代码。 我没有得到这样做的逻辑。

2 个答案:

答案 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

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