Python识别(转换)文本到日期

Jov*_*van 2 python formatting date

我正在尝试找到将``2019年3月1日星期五''或``2019年3月2日星期六''转换为python datetime对象的最佳方法。

我尝试过分割,而不是对正则表达式的想法,但是我敢肯定,这样做有更多的“优雅”方式

从字符串“星期五2019年3月1日”中,我期望01-03-2019或2019-03-01

TNX!

tgi*_*kal 6

也许不是“最佳”方法,但是一个非常简单的方法是dateutil的解析器

from dateutil import parser
parser.parse("Friday 1st March 2019")
Run Code Online (Sandbox Code Playgroud)

返回值:

datetime.datetime(2019, 3, 1, 0, 0)
Run Code Online (Sandbox Code Playgroud)

它几乎可以包装为:

from dateutil import parser
from datetime import datetime as dt
dt.strftime(parser.parse("Friday 1st March 2019"), "%d-%m-%Y")
Run Code Online (Sandbox Code Playgroud)

返回:

'01-03-2019'
Run Code Online (Sandbox Code Playgroud)