2015-05-06 21 views
0

我通过阅读我的页面中包含月份名称的字段(如“2015年2月28日12:59”)获取时间戳。我想验证它是哪个月份的名称,并为其指定月份编号。我想获得诸如“5 28,2015 12:59”的日期。我划分了时间戳和我试图月份名称转换为如下号码:如何为月份名称指定一个数字 - Robot Framework

|| ${monthNmToNum} | Set Variable If |'${monthAbr}' == 'Feb' | 2 
|| ${monthNmToNum} | Set Variable If |'${monthAbr}' == 'Mar' | 3 
|| ${monthNmToNum} | Set Variable If |'${monthAbr}' == 'Apr' | 4 

,但问题是,如果月份名称是“二月”中的日期戳,然后$ {monthNmToNum}变“没有”在最后。 我实际上想要存档的是将此时间戳转换为时代。 我正在使用RIDE作为机器人框架。让我知道如果我错过了上面的一些信息。

回答

0

一个简单的解决方案是创建一个包含月份缩写的列表,然后让python查找列表中的缩写。只要你知道某些缩写是什么这是可行的,而且将永远是在列表中:

*** Variables *** 
| @{MONTHS} | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec 

*** Testcase *** 
| Convert month abbreviation to number 
| | ${monthAbr}= | Set variable | Feb 
| | ${month}= | evaluate | ${MONTHS}.index("Feb") + 1 
| | Should be equal as numbers | ${month} | 2 

但是,如果你的最终目标是让EPOC,机器人有一个内置的关键字在DateTime库中执行此操作。在您之前询问的另一个问题中回答了这个问题:Convert string to seconds - Robot framework

+0

谢谢布莱恩。您的解决方案工作完美 –

0

我们有DateTime图书馆,我们可以用它来将日期转换和 Python支持不同date formats

请参见下面的代码:

${MonthNumber}= Convert Date ${Date} result_format=%m 

它会给你每月数,它解决了你的问题。