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
用于 99
、98
等,而 %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)
与前面提到的答案相比,它的缺点是它需要一个额外的包。好处是它可以很好地确定您的日期,而无需知道格式字符串。
我正在尝试将日期时间字符串解析为 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
用于 99
、98
等,而 %Y
用于全年。您可以阅读有关此 here.
除了 David 的 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)
与前面提到的答案相比,它的缺点是它需要一个额外的包。好处是它可以很好地确定您的日期,而无需知道格式字符串。