Существует ли модуль, который может исправить неправильный формат времени? - PullRequest
0 голосов
/ 25 января 2019

У меня есть данные в следующем формате: 12/07/2018 23:00 12/07/2018 24:00 13/07/2018 1:00 , и я хотел узнать, существует ли в python модуль, который может изменить 12/07/2018 24:00 на 13/07/2018 0:00

1 Ответ

0 голосов
/ 25 января 2019

Это должно охватывать все случаи, если вы предполагаете, что ваша строка формата даты является статической:

from datetime import datetime, timedelta

def fix_time(time_string):
    if '24:00' in time_string:  # Does time_string contain silly format
        _date, _ = time_string.split()  # Ignore time part since it will default to 00:00
        calendar_date= datetime.strptime(_date, '%d/%m/%Y')
        corrected_time = calendar_date + timedelta(days=1)  # Add one day to get correct date
        time_string = corrected_time.strftime('%d/%m/%Y %H:%M')  # Convert back to str
    return time_string

Пример вывода:

fix_time ('31/12/2018 24:00')
> '01/01/2019 00: 00'

Код можно сделать более кратким, но это должно быть хорошей отправной точкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...