在西班牙语中解析日期时,Datetime 无法识别缩写的月份

Datetime Does Not Recognize Abbreviated Months When Parsing Dates in Spanish

提问人:Asa F 提问时间:5/2/2023 最后编辑:jonrsharpeAsa F 更新时间:5/2/2023 访问量:69

问:

我正在尝试在 Python 中解析西班牙语表单的日期。由于某种原因,该模块在我的机器上不起作用,所以我使用软件包手动执行此操作。使用西班牙语区域设置时,该方法似乎无法识别具有缩写月份的日期。"Ago de 2022"dateparserdatetimestrptime

下面是演示该问题的一些示例代码

import locale
from datetime import datetime as dt

locale.setlocale(locale.LC_ALL, 'esp_esp.utf-8')


format=r"%b-%Y"
dt.strptime("Sep-2022", format)

返回错误: 。time data 'Sep-2022' does not match format '%b-%Y'

现在为其他一些案例提供见解。以下代码运行良好:

import locale
from datetime import datetime as dt

locale.setlocale(locale.LC_ALL, 'esp_esp.utf-8')


format=r"%B-%Y"
dt.strptime("Septiembre-2022", format)

因此,问题似乎只针对缩短的月份。此外,英语似乎工作得很好!以下代码运行良好:

import locale
from datetime import datetime as dt

locale.setlocale(locale.LC_ALL, 'en_US.utf-8')


format=r"%b-%Y"
dt.strptime("Sep-2022", format)

我正在运行 Python 3.9.13 的 Jupyter Notebook 中工作。

Python datetime 日期解析

评论

1赞 Artyer 5/2/2023
该区域设置看起来不对(?此外,请检查区域设置是否受支持(在 shell 中查看已安装的区域设置)。快速的谷歌搜索找到了 Jupyter:github.com/jupyterlab/language-packs/tree/main/language-packs/......es_ES.utf8locale -a

答: 暂无答案