Разбирайте даты в формате dmY вместе с mdY, используя strptime в python 3 - PullRequest
0 голосов
/ 06 августа 2020

Я хочу преобразовать строку даты ввода в формат => '% Y% m% d'. Я использую Python 3.x и пробую это с помощью strptime & strftime.

Проблема в том, что моя строка даты ввода может быть либо в '% m% d% Y', либо в '% d% m% Y 'формат. Как мой лог c узнает, является ли начальная позиция днем ​​или месяцем?

date_formats = ['%m/%d/%Y','%d/%m/%Y']

def get_date_in_ymd_format(input_date):
    for date_format in date_formats:
        try:
            #convert string to date object: convert input_date string given format date_formate (if format does not match throw exception)
            date_in_ymd = datetime.strptime(input_date, date_format)
        except ValueError:
            pass
        else:
            break
    else:
        date_in_ymd = None
    return date_in_ymd

1 Ответ

0 голосов
/ 06 августа 2020

В общем, вы не можете знать. Будут некоторые даты, которые явно являются одним или другим (например, 13 не может быть значением месяца), но множество дат неоднозначны:

01/02/2020

может быть 2 января или 1 февраля. .

...