python - 如何以多种语言显示日期/时间?

标签 python datetime locale python-babel

我想以多种语言显示日期和时间(或分别显示日期或时间)。特别是英语和西类牙语,但将来可能会使用其他语言。

我考虑过将 python 的 time.strftime 函数与 locale.setlocal 结合使用。我在阅读文档 ( http://docs.python.org/library/locale.html ) 后排除了这一点,即库不应调用 locale.setlocal,因此我不应该只是“翻转”(更改,然后恢复)我库中的区域设置。

我也考虑过 python 库 Babel,但我在他们的文档 ( http://babel.edgewall.org/wiki/Documentation/0.9/dates.html ) 中读到日期解析“未正确实现”,这让我很担心。我确实需要日期解析能力。但是,Babel 可以使用不同的语言环境显示时间。

第三个[混合]选项是使用 pythons datetime 来解析日期,然后使用 Babel 以多种语言/区域设置显示日期。这有点困惑,因为 strptime 使用它自己的格式字符串语法,而 Babel 对其格式字符串使用 LDML 语法。

可能还有其他选择。问题又来了:以多种语言显示日期或时间的最佳方式是什么?

最佳答案

我会使用 gettext 机制将翻译维护为标准 PO 文件。 对于每种语言,您都将翻译保存在专用文件中。您将月份和日期名称用作 msgid,并将特定翻译保留为 msgstr

http://docs.python.org/library/gettext.html

关于python - 如何以多种语言显示日期/时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5410397/

相关文章:

python - 游戏设计的协程?

python - 在 glob 迭代中忽略大小写的方法

PHP 比较格式为 2011-05-16T09 :39:14+0000 (facebook datetime format) 的两个日期

python - 调用 locale.strxfrm 时 Unicode 字符不在范围内

Java 8 - 语言环境查找行为

python - setuptools 在安装过程中发现错误的包

c# - tensorflow 服务

r - Geom_tile 绘制时间轴数据中不存在的不连续性

python - Datetime.now() 异常 - Python

瑞士的 PHPExcel 千位分隔符 例如 1'234' 456