我有一个日期时间对象,我想根据操作系统区域设置(例如在 Windows'7 区域和语言设置中指定)为其创建日期字符串。
遵循Python的日期时间格式化文档 http://docs.python.org/library/datetime.html#strftime-and-strptime-behavior,我用了%x
格式化应该输出的代码“区域设置的适当日期表示。我希望这个“表示”是Windows“短日期”或“长日期”格式,但它不是其中之一。
(我将短日期格式设置为d/MM/yyyy
和长日期格式dddd d MMMM yyyy
,但输出是dd/MM/yy
)
这里有什么问题:Python 文档、Python 实现还是我的期望?
(以及如何解决?)
读完后setlocale() 文档 http://docs.python.org/library/locale.html#locale.setlocale,我了解到Python不使用默认操作系统区域设置作为默认区域设置。要使用它,我必须使用以下命令启动我的模块:
import locale
locale.setlocale(locale.LC_ALL, '')
或者,如果您只想重置区域设置的时间设置,请仅使用LC_TIME
因为它破坏的东西少得多:
import locale
locale.setlocale(locale.LC_TIME, '')
当然,这样做是有正当理由的,但至少可以在 Python 文档中对 %x 指令的注释中提到这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)