我创建了一个函数language
,它返回English
或French
。我想创建一个现在基于选择语言给出日期的函数。例如,如果我选择French
,则该函数将返回Jeudi, 28 mars 2017
,或者如果我选择English
,则会返回Tuesday March 28 2017
。
@property
def date_customerprofile(self):
now = datetime.date.today()
if language == 'English'
date = now.strftime("%A, %B %d %Y")
else:
date = ...
任何人都可以帮我完成此功能以获得这样的结果吗?
谢谢!
PS 了解法语月份为Janvier
,Février
,Mars
,Avril
,Mai
,{{1 }},Juin
,Juillet
,Août
,Septembre
,Octobre
和Novembre
。星期几是Décembre
(星期日),Dimanche
,Lundi
,Mardi
,Mercredi
,Jeudi
和Vendredi
答案 0 :(得分:1)
首先,您需要在系统上安装必需的区域设置。 要让ubuntu安装法语区域设置,请运行以下命令。
$ sudo locale-gen fr_FR.utf8
以下是问题的解决方案
from datetime import datetime
import locale
def set_locale(locale_):
locale.setlocale(category=locale.LC_ALL, locale=locale_)
def date_customerprofile(language):
now_ = datetime.today()
if language == 'English':
set_locale('en_US.utf8')
date_ = now_.strftime("%A %B %d %Y")
else:
set_locale('fr_FR.utf8')
date_ = now_.strftime("%A %B %d %Y")
return date_
P.S。避免使用标准包/函数名作为变量