python - OSX 和 Ubuntu 之间俄语语言包的差异,如何为 strftime 获得相同的输出?

标签 python macos ubuntu-14.04

我遇到了在 python 中使用俄语日期的问题。

当我使用 python 2.7.9 在本地 OSX virtualenv 上运行以下命令时:

import locale
import datetime

locale.setlocale(locale.LC_ALL, 'ru_RU.UTF-8')
temp = datetime.date(2015, 8, 11)
print temp.strftime("%d %B %Y")

输出为:

11 августа 2015

当我使用 python 2.7.9 在 vi​​rtualenv 中的 Ubuntu 服务器上运行几乎相同的代码时:

import locale
import datetime

locale.setlocale(locale.LC_ALL, 'ru_RU.UTF-8')
temp = datetime.date(2015, 8, 11)
print temp.strftime("%d %B %Y")

输出不同

11 Август 2015

这种差异从何而来?有没有办法强制一种实现优于另一种实现?

当使用 strptime 时,由于格式不匹配,如果使用错误的实现,这种差异会导致错误。

最佳答案

我在 OSx 和 Ubuntu 上的 strftime 也有同样的情况。我用 django.utils.formats 解决它:

import datetime
from django.utils import formats
temp = datetime.date(2015, 8, 11)
print formats.date_format(temp, 'DATE_FORMAT')

有一些默认的日期格式,例如“DATE_FORMAT”、“SHORT_DATETIME_FORMAT”,但您也可以在“设置”中定义自己的格式。

关于python - OSX 和 Ubuntu 之间俄语语言包的差异,如何为 strftime 获得相同的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32183170/

相关文章:

swift - 通过使用 NSPredicate 快速比较对象与数组中对象的键路径来过滤多对多关系

python - Ubuntu 14.04 & Python 2.7 : How can I solve PIP INSTALL PROBLEM?

Javascript 网页无法在本地主机上运行,​​但可以正常运行,文件为 :///

python - 如何在python中删除图像的背景

c++ - Valgrind 下 Mac OS 上的 std::thread.join() SIGSEGV

python - 添加 SlugField 字段类型时出现问题 (Django 1.6.3)

c++ - Xcode 4 mach-o 错误

mysql - phpmyadmin中的奇怪错误,已成功安装但仍然无法运行

python - Networkx 的数据光标模式

python - 错误 : Could not find a version that satisfies the requirement pyautogui (from versions: none)