如何使用datetime Python模块计算从当前日期起六个月后的日期?

2024-04-27 00:14:13 发布

您现在位置:Python中文网/ 问答频道 /正文


Tags: python
3条回答
import datetime
print (datetime.date.today() + datetime.timedelta(6*365/12)).isoformat()

好吧,那要看你说的从现在起6个月是什么意思。

  1. 使用自然月份:

    (day, month, year) = (day, (month+6)%12, year+(month+6)/12)
    
  2. 按照银行家的定义,6*30:

    date += datetime.timedelta(6*30)
    

我发现这个办法很好。(这使用python-dateutil extension

from datetime import date
from dateutil.relativedelta import relativedelta

six_months = date.today() + relativedelta(months=+6)

这种方法的优点是它可以处理28天、30天、31天等的问题。这在处理业务规则和场景(如发票生成等)时非常有用

$ date(2010,12,31)+relativedelta(months=+1)
  datetime.date(2011, 1, 31)

$ date(2010,12,31)+relativedelta(months=+2)
  datetime.date(2011, 2, 28)

相关问题 更多 >