在评估了月份之后,我尝试获取“ 06/19”之类的月份和年份格式,但是我却得到“ 6/19”。
Month and year
${currentYear}= Get Current Date result_format=%y
${currentDate}= Get Current Date
${datetime} = Convert Date ${currentDate} datetime
${getMonth}= evaluate ${datetime.month} - 1
log to console ${getMonth}/${currentYear}
我已经通过创建变量@ {MONTHSNO} $ {EMPTY} 01 02 03 04 05 06 07 08 09 10 11 12尝试了另一种方法,并返回$ {MONTHSNO} [$ {getMonth}] / $ {currentYear} 06/19,但我不确定机器人是否可以通过另一种方式将月转换为“ 06”,而不用像这样修改变量。
答案 0 :(得分:1)
您可以使用自定义关键字来实现此目的,该关键字将以月/年格式返回日期
然后,您可以使用relativedelta()
从日期中减去一个月
安装dateutil:
pip install python-dateutil
test.py
from datetime import datetime
from dateutil.relativedelta import relativedelta
def return_current_date_minus_one_month():
strDate = datetime.today()
Subtracted_date = strDate + relativedelta(months=-1)
Date = Subtracted_date.strftime('%m/%y')
return Date
test.robot
*** Settings ***
Library test.py
*** Test Cases ***
Month and year
${current_date} = Test.Return Current Date Minus One Month
log ${current_date}
结果= ${current_date} = 06/19
答案 1 :(得分:0)
当您运行评估命令时,您正在运行python命令。因此,让我们看一下日期时间文档:
https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior
最后,他们提到图书馆时间是有用的。因此,我建议您使用此命令以0X格式返回month:
${getMonth}= evaluate time.strftime("%m")
这只给我归零(因为现在是七月)
答案 2 :(得分:0)
您可以使用DateTime库从当前日期减去一个月,如下所示:
${date1}= Get Current Date result_format=%d.%m.%Y
${date2}= Substract Time To Date ${date1} 30 days date_format=%d.%m.%Y result_format=%m.%Y
也许有帮助