如何在Python中从今年开始打印
如果当前年份是使用最简单的代码在python中给出的,可能在一行中使用datetime模块,我如何才能打印下一年。
date和date时间对象都有一个year
属性,这是一个数字。 只需加1:
>>> from datetime import date >>> print date.today().year + 1 2013
如果你在variables中有当前年份,只需直接加1,不需要打扰date时间模块:
>>> year = 2012 >>> print year + 1 2013
如果你有一个string的date,只需select代表年份的4位数字并将其传递给int
:
>>> date = '2012-06-26' >>> print int(date[:4]) + 1 2013
年算术是非常简单的,使它成为一个整数,只是加1。它并没有比这更简单。
但是,如果您使用的是完整的date,并且需要一年之后的相同date,则使用这些组件创build一个新的date
对象,并将年份加1:
>>> today = date.today() >>> print date(today.year + 1, today.month, today.day) 2013-06-26
或者您可以使用.replace
函数,该函数返回指定更改的字段的副本:
>>> print today.replace(year=today.year + 1) 2013-06-26
请注意, today
是闰年的2月29日,这可能会有点棘手。 因此,这个工作的绝对正确的方法是:
def nextyear(dt): try: return dt.replace(year=dt.year+1) except ValueError: # February 29th in a leap year # Add 365 days instead to arrive at March 1st return dt + timedelta(days=365)