Skip to main content
 首页 » 编程设计

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

2025年05月04日13yyy_WW

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

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)