中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C# 中怎么判斷時間段是否相交

發布時間:2021-07-07 18:04:01 來源:億速云 閱讀:160 作者:Leah 欄目:編程語言

這篇文章給大家介紹C# 中怎么判斷時間段是否相交,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

1. 判斷兩個起止時間是否相交:

public static bool IsTimeBetween(TimeSpan input, TimeSpan start, TimeSpan end, bool fromInclusice, bool toInclusive) 
    { 
      //http://stackoverflow.com/questions/592248/how-can-i-check-if-the-current-time-is-between-in-a-time-frame 
      // see if start comes before end 
      if (end < start) 
      { 
        return 
          ((toInclusive && (input <= end)) || (!toInclusive && (input < end))) 
          || 
          ((fromInclusice && (input >= start)) || (!fromInclusice && (input > start))); 
      } 
      else 
      { 
        return 
          ((fromInclusice && (input >= start)) || (!fromInclusice && (input > start))) 
          && 
          ((toInclusive && (input <= end)) || (!toInclusive && (input < end))); 
      } 
 
 
    }

2. 傳入起止時間的表達式,判斷與已知時間段的交集,生成Mongo查詢:

public IMongoQuery GetMongoQueryIntersectWith<TCollection>( 
      Expression<Func<TCollection, DateTime>> fromExp,  
      Expression<Func<TCollection, DateTime>> toExp) 
    { 
      var rangeTo = Query.And(Query<TCollection>.GTE(toExp, To), Query<TCollection>.LTE(fromExp, To)); 
      var rangeFrom = Query.And(Query<TCollection>.GTE(toExp, From), Query<TCollection>.LTE(fromExp, From)); 
 
      var rangeQuery = Query.Or(rangeTo, rangeFrom,  
        Query.And(Query<TCollection>.GTE(fromExp, From),Query<TCollection>.LTE(toExp, To))); 
      return rangeQuery; 
    }

關于C# 中怎么判斷時間段是否相交就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

红原县| 明溪县| 彰化县| 丁青县| 舞阳县| 湟源县| 营山县| 思茅市| 嘉黎县| 若尔盖县| 亚东县| 融水| 红桥区| 浦县| 天津市| 宁乡县| 永康市| 屯门区| 蕲春县| 文山县| 高阳县| 乌鲁木齐县| 遂平县| 温泉县| 浑源县| 双鸭山市| 内乡县| 彭州市| 博爱县| 昭觉县| 垫江县| 常宁市| 内丘县| 河津市| 苍梧县| 什邡市| 枣庄市| 都江堰市| 乐清市| 方正县| 临泽县|