>>> from datetime import date
>>> current_date=date.today()
>>> carry, new_month=divmod(current_date.month-1+1, 12)
>>> new_month+=1
>>> current_date=current_date.replace(year=current_date.year+carry, month=new_month)
>>> print date.today()
2011-05-21
>>> print current_date
2011-06-21
>>>
5 comentarios:
Excelente, me ayudo mucho este post.
Gracias,
Att. Edisaum
Gràcies!!!
¿Por qué "current_date.month-1+1", no sería "current_date.month"?
Si lo usas para sumar dos meses puede fallar.
Contraejemplo:
2013/12/29 + 2 meses
Al generar la fecha:
ValueError: day is out of range for month
una mejor solución para sumar cualquier numero seria
addMonth = 4;
current_date=grupo.fecha_de_inicio
carry, new_month=divmod(current_date.month + 1 + addMonth, 12)
if new_month == 0:
new_month = 12
current_date=current_date.replace(year=current_date.year+carry, month=new_month)
print current_date
Publicar un comentario