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

Mud*_*its 1 python python-2.7 python-datetime

是否有可能实现这样的目标?

def subtract_from_date(date, time_unit, num):
    return date - timedelta(time_unit=num)
Run Code Online (Sandbox Code Playgroud)

基本上我觉得懒得放,如果elif条件适用于各种输入时间单位,如分钟,小时,周,天等.

Mar*_*ers 7

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

timedelta(**{time_unit: num})
Run Code Online (Sandbox Code Playgroud)

演示:

>>> 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)
Run Code Online (Sandbox Code Playgroud)