Python 解析日期字符串到日期

Python parse datestring to date

我正在尝试将日期时间字符串解析为 Python 中的日期。输入值的形式为:

     "February 19, 1989"

到目前为止我一直在尝试

     datetime.datetime.strptime("February 19, 1989", "%B %d, %y")

但我总是出错。解析这样一个日期的正确方法是什么?谢谢!

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

datetime.datetime.strptime("February 19, 1989", "%B %d, %Y")

原因是 %y 用于 9998 等,而 %Y 用于全年。您可以阅读有关此 here.

的完整文档

除了 David 的 , if you have a list of strings that have a variety of formats (say, some have two digit years and others have four), you can utilize the dateutil 包之外,它还帮助自动将这些字符串解析为日期时间对象。

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)

与前面提到的答案相比,它的缺点是它需要一个额外的包。好处是它可以很好地确定您的日期,而无需知道格式字符串。