最近做的一个需求,需要在python里面校验时间跨度。两个时间点分别是start_time, end_time,之前知道timedelta可以按天计算,用于加减运算。但不能满足月份或者年这种天数不定的需求。可以用relativedelta解决这个问题
from dateutil.relativedelta import relativedelta
if start_time < datetime.datetime.today() - relativedelta(months=6):
reason = u'可选时间为最近六个月, 请核对!'
return result, reason
if start_time < end_time - relativedelta(months=3):
reason = u'时间跨度最长为三个月, 请核对!'
return result, reason