лучший способ справиться со многими попытками, кроме

#python #string #datetime

#python #строка #дата и время

Вопрос:

Мне интересно, каков наилучший способ изменить формат строки даты и времени.

У меня есть строка time , которая представляет объект datetime в одном из нескольких форматов. Я хочу изменить его на конкретный. Прямо сейчас мой код выглядит примерно так:

 try:
    record['time'] = datetime.datetime.strptime(time, 'yyyy-MM-dd HH:mm:ss').strftime('%Y-%m-%dT%H:%M:%S.%fZ')
except:
    pass
try:
    record['time'] = datetime.datetime.strptime(time, 'yyyy-MM-ddTHH:mm:ss').strftime('%Y-%m-%dT%H:%M:%S.%fZ')
except:
    pass
 

И так далее.

Есть ли лучший, более разумный способ сделать это?

Комментарии:

1. Используйте dateparser библиотеку. Работает как шарм практически для любой даты / времени, которое вы можете использовать.

Ответ №1:

Я бы преобразовал в объект datetime из любого формата, а затем поместил его в нужный вам формат. dateutil пакет имеет отличный анализатор.

 from dateutil.parser import parse

try:
    as_date = parse(time)
except ValueError:
    # got something unparsable -- figure out how to handle it.

my_formatted_string = as_date.strftime(....)
```