Python解析日期字符串到日期

Python解析日期字符串到日期,python,date,datetime-parsing,Python,Date,Datetime Parsing,我正在尝试用Python解析一个datetime字符串。输入值的形式如下: "February 19, 1989" 到目前为止我一直在努力 datetime.datetime.strptime("February 19, 1989", "%B %d, %y") 但我总是犯错误。解析这样一个日期的正确方法是什么?谢谢大家! 以下作品(将小写y改为大写y): 原因是%y代表99,98等等,而%y代表全年。您可以阅读有关这方面的完整文档。除了David的,如果您有一个具有多种格

我正在尝试用Python解析一个datetime字符串。输入值的形式如下:

     "February 19, 1989"
到目前为止我一直在努力

     datetime.datetime.strptime("February 19, 1989", "%B %d, %y")
但我总是犯错误。解析这样一个日期的正确方法是什么?谢谢大家!

以下作品(将小写
y
改为大写
y
):

原因是
%y
代表
99
98
等等,而
%y
代表全年。您可以阅读有关这方面的完整文档。

除了David的,如果您有一个具有多种格式的字符串列表(例如,一些具有两位数年份,另一些具有四位数年份),您可以利用该软件包帮助自动将这些字符串解析为datetime对象

from dateutil import parser

dates = ["February 19, 1989", "February 19, 89", "February 19, 01"]
for d in dates:
    print(parser.parse(d))
打印三个日期时间对象:

datetime.datetime(1989, 2, 19, 0, 0)
datetime.datetime(1989, 2, 19, 0, 0)
datetime.datetime(2001, 2, 19, 0, 0)
与前面提到的答案相比,它的缺点是需要一个额外的包。好处是它可以很好地确定日期,而不需要知道格式字符串

datetime.datetime(1989, 2, 19, 0, 0)
datetime.datetime(1989, 2, 19, 0, 0)
datetime.datetime(2001, 2, 19, 0, 0)