我试图在Python中解析日期时间字符串到目前为止。输入值的格式为:
"February 19, 1989"
到目前为止我一直在尝试
datetime.datetime.strptime("February 19, 1989", "%B %d, %y")
但我总是收到错误。解析这样一个日期的正确方法是什么?谢谢!
答案 0 :(得分:3)
以下工作(将小案例$sql
更改为大写y
):
Y
原因是datetime.datetime.strptime("February 19, 1989", "%B %d, %Y")
适用于%y
,99
等,而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)
与前面提到的答案相比,它的缺点是它需要额外的包装。好处是,在不需要知道格式字符串的情况下确定日期非常好。