首页 > 解决方案 > 解析不是英文的日期时间字符串

问题描述

我无法解析用意大利语写的日期:

 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 中是否存在类似的东西?

标签: python-3.xdatetimelocalization

解决方案


只需将语言环境设置为适当的区域即可。

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

推荐阅读