Как отформатировать строку в datetime объект?
Есть посты, у каждого поста своя дата в виде строки, например, 'Пт, 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"
}
Ответы (1 шт):
Мне кажется, что можно преобразовать стандартными методами:
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)
А это уже допускает сортировку.