Как отформатировать строку в datetime объект?

Рейтинг: -1Ответов: 1Опубликовано: 15.04.2023

Есть посты, у каждого поста своя дата в виде строки, например, 'Пт, 14 апр 2023, 16:17:13'. Цель состоит в том, чтобы отсортировать статьи по новизне, то есть свежие новости снизу, а более старые новости сверху, чтобы мой тг бот записывал, а затем постил их из json файла. Была мысль отформатировать строку в объект datetime, однако строку в таком варианте перевести в объект datetime мне показалось затруднительным. Как более эффективно отсортировать посты по новизне? Кто подскажет?

Сейчас json выглядит так:

posts.json

{
"title": "Best crypto to buy now",
"date": "Fri, 14 apr 2023, 16:37:47"
},

{
"title": "Best crypto presales to invest in",
"date": "Fri, 13 apr 2023, 15:37:47"
}

А надо, чтобы сверху была более старая дата:

{
"title": "Best crypto presales to invest in",
"date": "Fri, 13 apr 2023, 15:37:47"
},

{
"title": "Best crypto to buy now",
"date": "Fri, 14 apr 2023, 16:37:47"
}

Ответы

▲ 2

Мне кажется, что можно преобразовать стандартными методами:

import time

str = "Fri, 13 apr 2023, 15:37:47"
dat_tai = time.strptime(str, '%a, %d %b %Y, %H:%M:%S')
print(dat_tai)

Тогда результатом будет:

time.struct_time(tm_year=2023, tm_mon=4, tm_mday=13, tm_hour=15, tm_min=37, tm_sec=47, tm_wday=4, tm_yday=103, tm_isdst=-1)

А это уже допускает сортировку.