Преобразование даты с помощью strptime()
Каков наилучший способ преобразовать следующий шаблон даты в datetime.date
объект в Python?
1st April
8th April
15th April
1st May
2 ответа
Решение
dateutil.parser
проанализирует почти все известные форматы даты:
from dateutil.parser import parse
parse('8th April')
Чтобы всегда получать дату в будущем:
from dateutil.parser import parse
from datetime import datetime
d = parse('8th April')
if (d - datetime.now()).days <= 0:
d = datetime.date(d.year+1, d.month, d.day)
from datetime import datetime
val = val.replace('th', '').replace('st', '')
d = datetime.strptime(val, '%d %B')