【发布时间】:2012-10-04 21:25:39
【问题描述】:
>>> start_date = date(1983, 11, 23)
>>> start_date.replace(month=start_date.month+1)
datetime.date(1983, 12, 23)
这一直有效,直到月份是 <=11,只要我这样做
>>> start_date = date(1983, 12, 23)
>>> start_date.replace(month=start_date.month+1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: month must be in 1..12
当新月份添加到 12 月时,如何继续添加月份以增加年份?
【问题讨论】:
-
它是基于玛雅历法的实现,并且试图超过 dec/2012 会溢出到周期的开始。 (抱歉不能错过这个笑话)
-
你的笑话很糟糕,你应该感到很糟糕!
-
如果你是在 12 月 31 日,又增加了两个月,会发生什么?你想要2月31日吗? 2 月 28 日(假设不是闰年)? 3 月 1 日?
-
我没有想到这个,但是是的,你是对的,我应该是 3 月 1 日
-
也就是说,您希望它是同一天,如果那一天无效,则转到下个月的第一天?