Python-从今天的日期减去3个月,同时保留指定的日期格式

时间:2018-07-14 00:41:04

标签: python-3.x

我目前有此代码以我的程序所需的格式打印今天的日期,但是无法弄清楚如何减去3个月(考虑到某些月份的天数有所不同)并以适当的格式返回上述新日期下方:

import datetime
now = datetime.date.today() # create the date for today
today = '{0:%m%d%y}'.format(now).format(now) 

1 个答案:

答案 0 :(得分:1)

给出:

>>> import datetime
>>> now = datetime.date.today() # create the date for today
>>> today = '{0:%m%d%y}'.format(now)
>>> now
datetime.date(2018, 7, 13)
>>> today
'071318'

您可以使用日历:

import calendar
def monthdelta(date, delta):
     m, y = (date.month+delta) % 12, date.year + ((date.month)+delta-1) // 12
     if not m: m = 12
     d = min(date.day, calendar.monthrange(y, m)[1])
     return date.replace(day=d,month=m, year=y)

>>> '{0:%m%d%y}'.format(monthdelta(now,-3))
'041318'

这是Python 3的唯一原因是//