如何将不同长度的字符串转换为日期时间

How can you convert a string with varying length to datetime

我有一个列表,其中包含 Y-M-D(例如 2010-01-14)格式的字符串,但有些没有月份 and/or 日期。我试过根据长度来做,但它变得又长又乱。有没有简单的方法可以做到这一点?

这是否满足您的需求:dateutil's parser 带有默认日期,例如:

from datetime import datetime
from dateutil import parser

for s in '2021', '2021-01', '2021-02-03':
    print(parser.parse(s, default=datetime(2021,1,1)))
    
2021-01-01 00:00:00
2021-01-01 00:00:00
2021-02-03 00:00:00