Я пишу функцию для пометки и пометки устаревших дат (старше 6 месяцев) в отчете.
т.е.
def isStale(lineItemDate):
if delta > 180:
return " Stale"
else:
return ""
# where delta subtracts my lineItemDate from today in days
Проблема в том, что мои необработанные данные (lineItemDate) в виде строки: «5 сентября 2020 года», поэтому мне нужно преобразовать это во что-то «дата» и сравнимо с тем, что получается из timedelta (days = 180), которая выглядит как «2019-09-08 11 : 33: 54.978144 ".
Каждый метод, который я пробую, заканчивается серией конверсий для каждой сравниваемой даты. Я пытаюсь сократить его до нескольких строк.
Не уверен, почему это не поднимет один ди git дней:
print(datetime.strptime("Sep 5, 2019", '%b %-d, %Y')))
ValueError("'%s' is a bad directive in format '%s'" %
ValueError: '-' is a bad directive in format '%b %-d, %Y'
В конечном счете, есть элегантный способ сравнения этих двух элементов даты, чтобы я мог пометить старые?