答案 0 :(得分:2)
这一行 - def generateDateList(date,month,year):
第一个参数date
的名称会隐藏在顶部导入的名称date
。您需要将参数重命名为函数内的day
。
如上所述,date
实际上是传递给函数的整数,调用它会导致您看到的错误。
答案 1 :(得分:1)
两个选项。
选项No.1(导入日期时间):
import datetime
def generateDateList(date, month, year):
today = datetime.date(year, month, date)
arrDates = []
for i in range(0,5):
arrDates.append(datetime.datetime.strftime(today + datetime.timedelta(days=i),"%d-%m-%y"))
return arrDates
print generateDateList(4, 12, 2017)
选项No.2(将日期参数重命名为日期):
from datetime import datetime
from datetime import date
from datetime import timedelta
def generateDateList(day,month,year):
today = date(year, month, day)
arrDates = []
for i in range(0,5):
arrDates.append(datetime.strftime(today + timedelta(days=i),"%d-%m-%y"))
return arrDates
print generateDateList(4,12,2017)
问题在于你有一个与date()函数名称相同的参数。