计算时差

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 天后:

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)

日期前一天:

 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)