Phy*_*yks 6 python localization
我想由 Python 自动给出本地化的月份名称。
我使用这段代码:datetime.datetime.strptime(j, "%m").strftime("%B")其中 j 是月份数。
我的问题是当我期待“Janvier”(法国语言环境)时,它一直给我“一月”。
我尝试使用语言环境,我发现让它起作用的唯一方法是locale.set_locale(locale.LC_ALL, "")在脚本的开头调用。
这是好的方法吗?或者有什么问题和更好的解决方案?
谢谢
小智 5
如果您只是不想它影响日期时间功能,请尝试以下操作:
def getLocalizedMonth(j):
locale.setlocale(locale.LC_ALL, "")
datetime.datetime.strptime(j, "%m").strftime("%B")
locale.setlocale(locale.getdefaultlocale())
Run Code Online (Sandbox Code Playgroud)
是的,我认为使用 locale.setlocale 是最好的解决方案!
如果您在操作系统级别设置了语言环境,
locale.set_locale(locale.LC_ALL, '')
print locale.nl_langinfo(locale.LC_MON1)
"janvier"
Run Code Online (Sandbox Code Playgroud)
或者你可以在 python 级别设置它:
locale.set_locale(locale.LC_ALL, 'fr_FR')
print locale.nl_langinfo(locale.LC_MON1)
"janvier"
Run Code Online (Sandbox Code Playgroud)