2 回答

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊
第一個(gè)片段中的錯(cuò)誤是因?yàn)槟阕隽?code>from datetime import datetime而不是import datetime
之前做datetime.date
.
另請注意, to 的參數(shù)datetime.date
是 ordered (year, month, day)
。

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊
這是一種解析日期并將它們放入列表的方法。
拆分中的正則表達(dá)式''\s|(?<=\d{4})(?=\d)'表示在四個(gè)連續(xù)數(shù)字(后跟一個(gè)數(shù)字)之后在空格或空格上拆分。這樣,年份將與月份的以下數(shù)字分開。這些是正則表達(dá)式中的后視和前瞻結(jié)構(gòu)。
import re
from datetime import date
s = '6 6 19707 7 20013 15 19741 7 19772 17 1983'
dates = re.split(r'\s|(?<=\d{4})(?=\d)', s)
# get length less last 3
i = len(dates) - 3
j = 0
final_date = []
while j <= i:
m, d, yr = dates[j:j+3]
final_date.append(date(int(yr), int(m), int(d)))
j += 3
for d in final_date:
print(d)
輸出:
1970-06-06
2001-07-07
1974-03-15
1977-01-07
1983-02-17
添加回答
舉報(bào)