【发布时间】:2022-01-13 21:58:58
【问题描述】:
我必须像这样使用 datetime 减去 2 个日期:
datetime.datetime.now() - datetime.timedelta(minutes=15)
# subtracting 15 minutes
问题是我不一定需要减去分钟。 我有一本字典,告诉我应该减去什么。
period = {'quantity': '15', 'time': 'minutes'}
但我需要当字典改变时,减去的时间也会改变。像这样:
if period['time'] == 'minutes':
tempo_atras = datetime.datetime.now() -datetime.timedelta(minutes=int(period['quantity']))
elif period['time'] == 'hours':
tempo_atras = datetime.datetime.now() - datetime.timedelta(hours=int(period['quantity']))
elif period['time'] == 'days':
tempo_atras = datetime.datetime.now() - datetime.timedelta(days=int(period['quantity']))
elif period['time'] == 'weeks':
tempo_atras = datetime.datetime.now() - datetime.timedelta(weeks=int(period['quantity']))
我觉得我写的方式不干净,所以我需要一种方法来转换函数参数中的period['time']字符串;类似:
tempo_atras = datetime.datetime.now() - datetime.timedelta(period['time']=int(period['quantity']))
我该怎么做?
【问题讨论】:
标签: python string function parameters