Python中的本地化月份名称

2024-05-08 16:58:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我想让Python自动给出本地化月份的名称。

我使用这段代码:datetime.datetime.strptime(j, "%m").strftime("%B"),其中j是月份号。

我的问题是,它一直给我“一月”,而我期待“Janvier”(法语地区)。

我试着对locale进行一些调整,我发现使它工作的唯一方法是在脚本开始时调用locale.set_locale(locale.LC_ALL, "")

这是个好办法吗?或者有什么问题和更好的解决方案吗?

谢谢


Tags: 方法代码脚本名称datetimealllocale地区
2条回答

如果不想影响datetime函数,请尝试以下操作:

def getLocalizedMonth(j):
  locale.set_locale(locale.LC_ALL, "")
  datetime.datetime.strptime(j, "%m").strftime("%B")
  locale.setlocale(locale.getdefaultlocale())

是的,我认为使用locale.setlocale是最好的解决方案!

如果您的语言环境设置为操作系统级别

locale.set_locale(locale.LC_ALL, '')
print locale.nl_langinfo(locale.LC_MON1)

"janvier"

或者可以在python级别设置它:

 locale.set_locale(locale.LC_ALL, 'fr_FR')
 print locale.nl_langinfo(locale.LC_MON1)

 "janvier"

相关问题 更多 >