将时间单位作为变量传递给时间增量函数中的关键字参数。
Pass time unit as a variable to the keyword argument in time delta function.
有没有可能达到这样的效果?
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)
有没有可能达到这样的效果?
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)