1. 程式人生 > 程式設計 >Python 判斷時間是否在時間區間內的例項

Python 判斷時間是否在時間區間內的例項

判斷時間是否在時間區間內

大家都知道 3<4<5這種連等式判斷在python中是可行的

>>> 3<4<5
True

那麼給定時間是否在時間區間內,也可以用連等式來判斷

# 給定兩個時間來比較下
>>> from datetime import datetime
>>> a=datetime.now()
>>> b=datetime.now()
>>> a
datetime.datetime(2019,6,5,14,3,28,396610)
>>> b
datetime.datetime(2019,35,226784)
>>> a<b
True
>>> b<a
False

發現結果如預期

from dateutil.parser import parse
NOW = datetime.now()
gt = parse("2019-6-3")
lt = parse("2019-6-8")
gt<NOW<lt

Python 判斷時間是否在時間區間內的例項

擴充套件:

隨著業務越來越複雜,上面簡單的比較已經不能解決問題,後邊用到了區間比較的庫

from interval import Interval
a = Interval(s1,e1)
b = Interval(s2,e2)
a in b

時間字串比較

Python 判斷時間是否在時間區間內的例項

datetime比較

Python 判斷時間是否在時間區間內的例項

補充知識:判斷當前時間是否在[startTime,endTime]區間

我就廢話不多說了,大家還是直接看程式碼吧

  /**
   * 判斷當前時間是否在[startTime,endTime]區間,注意時間格式要一致
   *
   * @param nowTime 當前時間
   * @param startTime 開始時間
   * @param endTime 結束時間
   */
  public static boolean isEffectiveDate(Date nowTime,Date startTime,Date endTime) {
    if (nowTime.getTime() == startTime.getTime()
        || nowTime.getTime() == endTime.getTime()) {
      return true;
    }
    Calendar date = Calendar.getInstance();
    date.setTime(nowTime);
 
    Calendar begin = Calendar.getInstance();
    begin.setTime(startTime);
 
    Calendar end = Calendar.getInstance();
    end.setTime(endTime);
 
    if (date.after(begin) && date.before(end)) {
      return true;
    } else {
      return false;
    }
  }

以上這篇Python 判斷時間是否在時間區間內的例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。