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

标签 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, 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)

关于python - 将时间单位作为变量传递给时间增量函数中的关键字参数。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29283759/

相关文章:

python - 需要从 Python Flask-Appbuilder 连接到 SQL Server 的帮助

python - 使用 datetime.timedelta 进行时间计算

python - Anaconda OpenCV Arch Linux libselinux.so 错误

Python 正则表达式太贪心,错过了 XML 中的第一次出现

python - 更改生成器的 __name__

python - 在Python中以AM/PM格式显示特定时区的unix时间

Python 类 utcnow 未更新

Python:键盘输入和循环

python - 在 models.py 文件中获取当前登录的 Django 用户?

python - 为什么 Python 标准库的某些模块中有 __version__ 字符串?