Und*_*ryx 6 python locale python-2.7
我正在尝试生成包含可以在特定区域设置中给出的日期的词典.例如,我可能希望我的函数在使用en_US作为参数调用时返回:
{'date': 'May 12, 2014', ...}
Run Code Online (Sandbox Code Playgroud)
这个,当用hu_HU调用时:
{'date': '2014. május 12.', ...}
Run Code Online (Sandbox Code Playgroud)
现在,根据我到目前为止发现的内容,我应该使用locale.setlocale()设置我想要使用的语言环境,并locale.nl_langinfo(locale.D_FMT)获得适当的日期格式.我可以locale.resetlocale()在此之后调用以返回之前使用的那个,但我的程序使用多个线程,并且我认为其他的也会受到这个临时区域设置更改的影响.
有非标准的babel模块提供了这个和更多:
>>> import babel.dates
>>> babel.dates.format_datetime(locale='ru_RU')
'12 ??? 2014 ?., 8:24:08'
>>> babel.dates.format_datetime(locale='de_DE')
'12.05.2014 08:24:14'
>>> babel.dates.format_datetime(locale='en_GB')
'12 May 2014 08:24:16'
>>> from datetime import datetime, timedelta
>>> babel.dates.format_datetime(datetime(2014, 4, 1), locale='en_GB')
'1 Apr 2014 00:00:00'
>>> babel.dates.format_timedelta(datetime.now() - datetime(2014, 4, 1),
locale='en_GB')
'1 month'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
465 次 |
| 最近记录: |