Checking date against date range in Python

前端 未结 4 1370
醉话见心
醉话见心 2020-12-08 02:23

I have a date variable: 2011-01-15 and I would like to get a boolean back if said date is within 3 days from TODAY. Im not quite sure how to construct this in P

4条回答
  •  借酒劲吻你
    2020-12-08 02:42

    Object oriented solution

    import datetime
    
    class DatetimeRange:
        def __init__(self, dt1, dt2):
            self._dt1 = dt1
            self._dt2 = dt2
    
        def __contains__(self, dt):
            return self._dt1 < dt < self._dt2
    
    dt1 = datetime.datetime.now()
    dt2 = dt1 + datetime.timedelta(days = 2)
    test_true = dt1 + datetime.timedelta(days = 1)
    test_false = dt1 + datetime.timedelta(days = 5)
    
    test_true in DatetimeRange(dt1, dt2) #Returns True
    test_false in DatetimeRange(dt1, dt2) #Returns False
    

提交回复
热议问题