python-3.x - 解析不是英文的日期时间字符串
问题描述
我无法解析用意大利语写的日期:
datetime.strptime("sab 21 mar 2020, 13:04", "%a %d %b %Y, %H:%M")
我收到了这个错误:
ValueError: time data 'sab 21 mar 2020, 13:04' does not match format '%a %d %b %Y, %H:%M'
如果我尝试:
datetime.strptime("sat 21 mar 2020, 13:04", "%a %d %b %Y, %H:%M")
没关系,那么如何在正确的当地时间解析日期呢?在 Java 中,我这样做了:
SimpleDateFormat parser = new SimpleDateFormat("EEE dd MMM yyyy, HH:mm", Locale.ITALIAN);
通过这一行,我能够正确解析日期,python 中是否存在类似的东西?
解决方案
只需将语言环境设置为适当的区域即可。
import datetime
import locale
locale.setlocale(locale.LC_TIME, "italian")
print(datetime.datetime.strptime("sab 21 mar 2020, 13:04", "%a %d %b %Y, %H:%M"))
输出
2020-03-21 13:04:00
推荐阅读
- r - 在 R 中将 JSON 文件转换为可用的数据框
- python - 如何在 Mac 上从 python 解决 ssl.SSLCertVerificationError
- c++ - Qt 中是否有任何功能可以编辑 JSON 文件?
- javascript - 如何在密码保护页面上根据 PHP 服务器响应运行 JavaScript?
- php - 删除 php url 无法在我的 XAMPP localhost 上运行,但可以在服务器上运行
- excel-formula - 收到索引匹配的参考错误,我做错了什么?
- python - 使用转义 t "\t" 格式化时未对齐
- algorithm - 查询子字符串的数据结构,包含字符串集合中的子字符串
- java - presist 并重新启动后,数据库中没有任何内容休眠
- command - 列出在特定日期创建的液滴快照