Python解析日期字符串到目前为止

时间:2016-07-31 05:25:25

标签: python date datetime-parsing

我试图在Python中解析日期时间字符串到目前为止。输入值的格式为:

     "February 19, 1989"

到目前为止我一直在尝试

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

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

2 个答案:

答案 0 :(得分:3)

以下工作(将小案例$sql更改为大写y):

Y

原因是datetime.datetime.strptime("February 19, 1989", "%B %d, %Y") 适用于%y99等,而98适用于全年。您可以阅读有关此here

的完整文档

答案 1 :(得分:1)

除了大卫的answer之外,如果您有一系列具有多种格式的字符串(例如,某些字符串有两位数字,其他字符串有四种),则可以使用{{ 3}} package帮助自动将这些字符串解析为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)

与前面提到的答案相比,它的缺点是它需要额外的包装。好处是,在不需要知道格式字符串的情况下确定日期非常好。