Как получить кастомную дату-время на питоне в стандарте RFC 3339?

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

Нужно получить из БД дату и время и сделать из низ timestamp в формате RFC 3339, потому что апи гугл календаря принимает только такой формат.

Т.к. из БД дата (item[14]) возвращается в виде datetime.date(2023, 6, 8), а время (item[15]) в виде datetime.timedelta(seconds=44725), преобразую их так:

for_time=str(item[15]).split(":")
datetime(item[14].year,item[14].month,item[14].day,int(for_time[0]),int(for_time[1]),int(for_time[2]))
    print(utc_dt.isoformat())

Получаю на выходе 2023-06-08T12:25:25 А нужно получать в формате RFC 3339 с UTM смещением (в моем случае нужно задать +7) примерно так 2023-06-08T12:25:25.544600+07:00

Не могу найти как мне это сделать, помогите, пожалуйста

Ответы

▲ 0

Сложить дату и дельту - получится датавремя. Там есть метод для перевода в исо готовый. Чтоб не мучать себя с часовым поясом храните и передавайте в utc. Но и стандартном типе есть метод который устанавливает часовой пояс как явный.

...примерно так 2023-06-08T12:25:25.544600+07:00

>>> now=datetime.datetime.now()
>>> now.astimezone().isoformat()
'2023-06-30T11:04:59.558080+03:00'
>>> now.astimezone(datetime.UTC).isoformat()
'2023-06-30T08:04:59.558080+00:00'