【问题标题】:Create a function which returns french date or english date创建一个返回法国日期或英文日期的函数
【发布时间】:2017-03-28 18:06:29
【问题描述】:

我创建了一个函数language,它返回EnglishFrench。我想创建一个函数,现在可以根据选择的语言给出日期。例如,如果我选择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 = ...

谁能帮我完成这个功能以获得这样的结果?

谢谢!

P.S. 知道法语的月份是JanvierFévrierMarsAvrilMaiJuinJuilletAoût、@ 987654338@、OctobreNovembreDécembre。星期几是Dimanche(星期日)、LundiMardiMercrediJeudiVendrediSamedi

【问题讨论】:

  • datetime 模块可以在多个语言环境中工作。请参阅this answer 以查看以两种语言显示工作日名称的示例(请参阅末尾的代码)。

标签: python date


【解决方案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_

附:避免使用标准包/函数名称作为变量

【讨论】:

  • 我正在与一个程序员团队合作。所以我不知道仅仅加载sudo locale-gen fr_FR.utf8是否合适。我在一个 django 项目中工作。你有什么建议?
  • 区域设置取决于操作系统。 Python 正在使用它。要使用它,需要安装所需的语言环境。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-18
  • 2011-12-18
  • 2012-03-19
  • 1970-01-01
  • 1970-01-01
  • 2020-08-15
相关资源
最近更新 更多