在robot框架中,当前支持获取时区的关键字是:
${month} Get Current Date result_format=%B%Y
回归日期:2017 年 7 月
问题是如何从其他国家和地区获取当前日期?
例如,在越南应返回:Tháng Bảy 2017
泰国应该返回:กรกฎาคม พ.ศ. 2560
最佳答案
不幸的是,Python 对于当前区域以外的区域设置中的日期格式化没有良好的内置支持。您可以暂时切换区域设置,但这不是一个很好的解决方案。
您可以使用Babel包来格式化日期,尽管它没有提供与您期望的完全相同的值——情况略有不同。
例如,您可以创建一个包含月份、年份和区域设置日期的关键字,并返回格式化版本。
首先,创建一个名为 CustomKeywords.py
的 Python 文件,其中包含以下内容:
# CustomKeywords.py
import datetime
from babel.dates import format_date
class CustomKeywords:
def get_date_for_locale(self, locale, year, month=1, day=1):
d = datetime.date(int(year), int(month), int(day))
return format_date(d, "MMMM Y", locale=locale)
接下来,将此库导入到您的测试用例中,然后调用获取区域设置的日期
以获取给定区域设置的日期:
*** Settings ***
Library CustomKeywords.py
*** Test Case ***
Vietnamese
${date}= get date for locale vi_VN 2017 7
Should be equal ${date} tháng bảy 2017
Thailand
${date}= get date for locale th_TH 2017 7
Should be equal ${date} กรกฎาคม 2017
关于python - 机器人框架如何获取不同国家的不同时区和区域设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44938751/