我想在Python中解析日期時間字符串。輸入值的形式爲:Python解析日期字符串至日期
"February 19, 1989"
我一直在努力,到目前爲止
datetime.datetime.strptime("February 19, 1989", "%B %d, %y")
,但我總是得到錯誤。解析這樣一個日期的正確方法是什麼?謝謝!
我想在Python中解析日期時間字符串。輸入值的形式爲: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的完整文檔。
除了大衛的answer,如果你有一個有多種格式的字符串(比方說,有些有兩個數字的年份和其他人有四個)的列表,你可以利用dateutil
包,以幫助解析這些字符串到日期時間自動對象。
from dateutil import parser
dates = ["February 19, 1989", "February 19, 89", "February 19, 01"]
for d in dates:
print(parser.parse(d))
打印3個日期時間對象:
datetime.datetime(1989, 2, 19, 0, 0)
datetime.datetime(1989, 2, 19, 0, 0)
datetime.datetime(2001, 2, 19, 0, 0)
這樣做的缺點,相對於前面提到的答案是,它需要一個額外的軟件包。好處在於,它不需要知道格式字符串就可以確定日期。