在Python中获取两个日期之间的所有年份

10

假设有这段代码:

import sys
from datetime import datetime

startDate = datetime.strptime(sys.argv[1], '%d.%m.%Y') # e.g. 05.06.2001 DD.MM.YYYY
endDate   = datetime.strptime(sys.argv[2], '%d.%m.%Y') # e.g. 25.05.2005

如何获取这两个日期之间的所有年份,包括开始和结束年份,例如

[2001, 2002, 2003, 2004, 2005]
1个回答

35
range(startDate.year, endDate.year+1)

1
关于简单,这是一个很好的解决方案。+1 - sshashank124
它不会产生开始日期和结束日期之间的所有年份。 - Adrian
2
它返回一个范围,因此如果您想要一组年份列表,可以执行类似于[y for y in range(startDate.year, endDate.year + 1)]的操作。 - cerwind
8年后再来,一个非常简单的解决方案。干得好! - Christina Stebbins
即使经过这么长时间,仍然是个好答案。 - matshidis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接