如何在Robot Framework中获取带前导零的日期时间值
解决Robot Framework日期时间字段前导零问题
给你几个简单的解决办法,直接替换现有代码即可:
方法一:直接格式化获取日期后拆分
用Get Current Date的result_format参数直接生成带前导零的格式化字符串,再截取对应部分:
${formatted_date}= Get Current Date result_format=%Y%m%d%H%M ${dateyear}= Set Variable ${formatted_date[0:4]} ${datemonth}= Set Variable ${formatted_date[4:6]} ${dateday}= Set Variable ${formatted_date[6:8]} ${datehour}= Set Variable ${formatted_date[8:10]} ${dateminute}= Set Variable ${formatted_date[10:12]}
这里%Y对应四位年份,%m/%d/%H/%M默认输出带前导零的两位月、日、时、分,省去后续补零操作。
方法二:对数字直接补零格式化
保留获取datetime对象的步骤,用Format String关键字把单个数字格式化为两位:
${date} = Get Current Date result_format=datetime ${dateyear}= Format String %04d ${date.year} ${datemonth}= Format String %02d ${date.month} ${dateday}= Format String %02d ${date.day} ${datehour}= Format String %02d ${date.hour} ${dateminute}= Format String %02d ${date.minute}
%02d表示将数字转为两位字符串,不足两位时自动在前补零;%04d保证年份为四位格式。
方法三:用字符串补零方法
先将数字转为字符串,再用String关键字的zfill方法补零:
${date} = Get Current Date result_format=datetime ${dateyear}= Convert To String ${date.year} ${datemonth}= Convert To String ${date.month} ${datemonth}= String ${datemonth} zfill 2 ${dateday}= Convert To String ${date.day} ${dateday}= String ${dateday} zfill 2 ${datehour}= Convert to string ${date.hour} ${datehour}= String ${datehour} zfill 2 ${dateminute}= Convert to string ${date.minute} ${dateminute}= String ${dateminute} zfill 2
zfill(2)会自动在字符串前补零,直到长度为2,单个数字转成字符串后用这个方法就能得到两位格式。
内容的提问来源于stack exchange,提问作者Anand
相关产品推荐
相关产品推荐

