我很难用datetime.strptime
解析日期/时间字符串:
date = "30. Dez 2016 19:34"
format = "%d. %b %Y %H:%M"
dt = datetime.strptime(date, format)
dt
引发值错误:
ValueError: time data '30. Dez 2016 19:34' does not match format '%d. %b %Y %H:%M'
该字符串使用德国惯例,即12月的“Dez”。我使用locale.getlocale()
检查了我的区域设置,这似乎没问题:('de_DE', 'UTF-8')
。用英语“Dec”替换“Dez”可以正常工作。我还检查了module documentation,它告诉我它应该开箱即用:
由于格式取决于当前的语言环境,因此在对输出值进行假设时应小心。
修改
locale.setlocale(locale.LC_TIME, 'de_DE')
做到了。这仍然让我有点不满意,因为我的地方似乎首先适合。如果有人可以更轻松......