возможно ли стандартное datetime в Python3 из другого формата ввода строки

#python

#python

Вопрос:

Теперь мне нужно разобрать строку в datetime в Python3, это мой код:

 parse_time = time.strptime(pub_time, '%b %d %Y %I:%M%p')
formatted_timestamp = time.mktime(parse_time)
  

теперь я обнаруживаю ошибку:

 time data '2020-08-02T08:58:01.000Z' does not match format '%b %d %Y %I:%M%p'
  

и теперь, что я должен сделать, чтобы это исправить? тогда pub_time , возможно, у меня другой формат синтаксического анализа из Интернета, что мне делать, чтобы сделать его автоматическим набором с другим форматом. Лучше всего автоматически определять формат времени другого типа и стандартизировать его в одну сторону.

Потому что я действительно не знал, в каком формате будет возвращен веб-контент. если бы он мог автоматически определять формат и конвертировать, поэтому мне не нужно было писать какое-либо отображение или код dectect.

Ответ №1:

использование maya lib может помочь:

 import maya

date_array = [
    '2018-06-29 08:15:27.243860',
    'Jun 28 2018 7:40AM',
    'Jun 28 2018 at 7:40AM',
    'September 18, 2017, 22:19:55',
    'Sun, 05/12/1999, 12:30PM',
    'Mon, 21 March, 2015',
    '2018-03-12T10:12:45Z',
    '2018-06-29 17:08:00.586525 00:00',
    '2018-06-29 17:08:00.586525 05:00',
    'Tuesday , 6th September, 2017 at 4:30pm'
]

for date in date_array:
    print('Parsing: '   date)
    dt = maya.parse(date).datetime()
    print(dt)
    print(dt.date())
    print(dt.time())
    print(dt.tzinfo)
  

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

1. При рекомендации стороннего модуля обычно указывается ссылка на указанный модуль.

2. сегодня я просто нахожу способ решить эту проблему, возможно, помочь другим, если у них такая же проблема. Я спросил в то же время, я постараюсь разобраться и решить сам. @PythonMaster202