接受函数中的多个日期参数

时间:2015-12-30 06:12:55

标签: python date arguments tuples

的Bonjour! 我想编写程序来计算租金到期时的28天周期,但是如果在年底我计算我迟交的租金的天数,我希望总计这些天数并根据我的代码中的付费日期计算它们。 问题是如何在全年插入多个付费日期,即12个用于计算我迟付的天数?如何在函数datepan中为它插入多个参数?

link:How to iterate over a timespan after days, hours, weeks and months in Python?

帮助表示赞赏。 留言Merci。

from datetime import date, datetime, timedelta

def datespan(startDate, endDate, paidDate,delta=timedelta(days=1)):
    currentDate = startDate
    while currentDate < endDate:
        yield currentDate
        currentDate += delta
        dl = paidDate - currentDate
        print (dl)

for day in datespan(date(2015,3,12 ), date(2015,12,31), date((2015,4,15), date(2015,5,14)),
     delta=timedelta(days=28)):
     print (day)

1 个答案:

答案 0 :(得分:0)

看起来你想要使用varargs。这可以用python实现。您可以将方法签名更改为:

def datespan(startDate, endDate, delta, *paidDates)

这将允许您根据需要传入尽可能多的paidDates个参数。请注意,您将无法再使用delta的默认arg。

datespan(date(2015,3,12), date(2015,12,31), timedelta(days=28), date(2015,4,15), date(2015,5,14))

在这种情况下应该可以正常工作。您还需要修改函数来处理paidDates的序列,而不是仅仅作为参数进行处理。