#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(....)
```