该timedelta模块非常方便地计算时间之间的差异:
from datetime import datetime, timedelta now = datetime.now() then = datetime(2016, 5, 23) # datetime.datetime(2016,05,23,0,0,0)
创建新datetime对象时,指定时间是可选的
delta = now-then
delta 是类型 timedelta
print(delta.days) # 60 print(delta.seconds) # 40826
要获取n天之后的日期和n天之前的日期,我们可以使用:
n天后的日期:
def get_n_days_after_date(date_format="%d %B %Y", add_days=120): date_n_days_after = datetime.datetime.now() + timedelta(days=add_days) return date_n_days_after.strftime(date_format)
日期的前n天:
def get_n_days_before_date(self, date_format="%d %B %Y", days_before=120): date_n_days_ago = datetime.datetime.now() - timedelta(days=days_before) return date_n_days_ago.strftime(date_format)