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

2024-10-01 04:57:08 发布

您现在位置:Python中文网/ 问答频道 /正文

你好! 我想写程序来计算28天的租金到期周期,但如果在年底我计算的天数,我迟交租金,我希望这些天的总和,并计算他们在我的代码中的付款日期为基础。 问题是如何插入全年的多个付款日期,即12,以计算我逾期付款的天数?如何在函数datespan中插入多个参数?你知道吗

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

谢谢你的帮助。 谢谢。你知道吗

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)

Tags: indatetimedatedaystimedeltadeltadlprint
1条回答
网友
1楼 · 发布于 2024-10-01 04:57:08

看起来你想用varargs。这在python中是可能的。您将方法签名更改为:

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

这将允许您传入任意多的paidDates参数。请注意,您将无法再使用delta的默认参数。你知道吗

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

在这种情况下应该可以。您还需要修改函数来处理一个paidDates序列,而不是一个作为参数传入。你知道吗

相关问题 更多 >