如果使用最简单的代码在python中给出当前年份,可以使用datetime模块在一行中打印下一年。
答案 0 :(得分:105)
date和datetime对象都有year
属性,这是一个数字。只需添加1:
>>> from datetime import date
>>> print date.today().year + 1
2013
如果您在变量中有当前年份,只需直接添加1,无需费心使用datetime模块:
>>> year = 2012
>>> print year + 1
2013
如果您在字符串中有日期,只需选择代表年份的4位数字并将其传递给int
:
>>> date = '2012-06-26'
>>> print int(date[:4]) + 1
2013
年算术非常简单,使它成为一个整数,只需加1.它没有那么简单。
但是,如果您使用的是整个日期,并且需要相同的日期,但一年之后,请使用组件创建一个新的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)
答案 1 :(得分:0)
这是另一种简单的方法...
import datetime
x = datetime.datetime.now()
print(x.year+1)