首页 > 解决方案 > 机器人框架 - 类型错误:relativedelta 仅区分日期时间/日期

问题描述

我得到 TypeError: relativedelta only diffs datetime/date after execution code

这是我的机器人代码:

Test calculate age
[Tags]   Test
${cal}      AgeTest   1988, 10, 1

这是我的python代码:

from datetime import date
from dateutil.relativedelta import relativedelta

def AgeTest(dob):
age = relativedelta(date.today(), dob)
print (age)
return age.years, age.months, age.days

如何修复它。

标签: pythonrobotframework

解决方案


你传递的dob的数据类型是,String但在 python 中是需要的tuple所以你需要将你的字符串转换为tuple第一个,只需在下面更改

def AgeTest(dob):
    dobnew = tuple(map(int, dob.split(',')))
    age = relativedelta(date.today(), date(*dobnew))
    return age.years, age.months, age.days

推荐阅读