Python 将时间单位作为变量传递给时间增量函数中的关键字参数。

Python 将时间单位作为变量传递给时间增量函数中的关键字参数。,python,python-2.7,python-datetime,Python,Python 2.7,Python Datetime,有可能实现这样的目标吗 def subtract_from_date(date, time_unit, num): return date - timedelta(time_unit=num) 基本上,我懒得为各种输入时间单位(如分钟、小时、周、天等)设置if-elif条件。您可以使用字典并将其用作映射参数: timedelta(**{time_unit: num}) 演示: 很好的回答!!谢谢。 >>> from datetime import datetime,

有可能实现这样的目标吗

def subtract_from_date(date, time_unit, num):
    return date - timedelta(time_unit=num)

基本上,我懒得为各种输入时间单位(如分钟、小时、周、天等)设置if-elif条件。

您可以使用字典并将其用作映射参数:

timedelta(**{time_unit: num})
演示:


很好的回答!!谢谢。
>>> from datetime import datetime, timedelta, date
>>> def subtract_from_date(date, time_unit, num):
...     return date - timedelta(**{time_unit: num})
... 
>>> subtract_from_date(date.today(), 'days', 5)
datetime.date(2015, 3, 21)