Как распарсить 2022-08-20T20:30:00+00:0 ? python
Как распарсить вот эту строку "2022-08-20T20:30:00+00:00" отдельно на год-месяц-день, отдельно на час:минута:секунда?
То есть, должно быть:
дата: 2022-08-20
время: 20:30:00
Ответы (4 шт):
Автор решения: ZxNuClear
→ Ссылка
Ожидаемо, что длина этой строки всегда одинакова, поэтому как один из вариантов - брать значения срезом
x = "2022-08-20T20:30:00+00:0"
date = x[0:10]
time = x[11:19]
print('Дата: ' + date)
print('Время: ' + time)
Вывод:
Дата: 2022-08-20
Время: 20:30:00
Автор решения: Максим Красовский
→ Ссылка
Я бы разделил на то, что до "T" и после. Оставшееся на то, что до "+" и после. Первые два разделения и есть дата и время.
x = '2022-08-20T20:30:00+00:0'
parts = x.split('T')
date = parts[0]
print(date)
time = parts[1].split('+')[0]
print(time)
Автор решения: 65536kb
→ Ссылка
У вас дата и время в формате ISO, поэтому можно воспользоваться функцией datetime.fromisoformat()
from datetime import datetime
dt_string = '2022-08-20T20:30:00+00:00'
dt = datetime.fromisoformat(dt_string)
print(dt.date()) # 2022-08-20
print(dt.time()) # 20:30:00
Автор решения: Namerek
→ Ссылка
Предлагаю использовать парсер из библиотеки python-dateutil (Кстати она используется в pandas)
pip install python-dateutil
from dateutil.parser import parse
x = parse('2022-08-20T20:30:00+00:0')
y = x.date()
z = x.time()
print(y, z, sep='\n')
# 2022-08-20
# 20:30:00