Python значение формата в качестве действительной даты - PullRequest
0 голосов
/ 08 апреля 2020

предположим, у меня есть отчет со следующим именем:

"ИМЯ ОТЧЕТА 0331", где 0331 относится к 31 марта 2020 года.

Мне удалось извлечь 0331 путем нарезки :

name[-4:]

Но я бы хотел теперь отформатировать 0331 в допустимую дату (т. Е. Затем я могу использовать ее для сравнения с датой другого отчета и определения того, какой отчет старше).

РЕДАКТИРОВАТЬ: формат должен быть "2020-MM-DD"

Как это будет работать?

Ответы [ 3 ]

1 голос
/ 08 апреля 2020

Следующий код должен работать для того, что вы описали.

import datetime from datetime

month_date = '%m%d'
raw_value = '0331'

date = datetime.strptime(month_day_format, raw_value)
date = date.replace(year=2020)

report_date = date.strftime('%Y-%m-%d')

report_date захватывает форматированную строку даты.

Полезные ссылки на используемые функции времени данных:

0 голосов
/ 08 апреля 2020

попробуйте это:

d = name[-4:]
res = datetime(2020, int(d[:2]),int(d[2:]))
0 голосов
/ 08 апреля 2020

Вы можете использовать datetime.strptime(), например:

datetime.datetime.strptime('0331', '%m%d')
# datetime.datetime(1900, 3, 31, 0, 0)

, а затем вы можете использовать объект datetime, как описано в документации .

...