Форум сайта python.su
Всю голову сломал но ничего не получается
как в python3.6
Дату формата 2020-04-05T08:53:13+03:00 (как правильно называется этот формат?)
преобразовать в Unix time?
d='2020-04-05T08:53:13+03:00' print (d) i=str(dateutil.parser.parse(d)) print (i)
Отредактировано zabigundi (Апрель 5, 2020 11:02:41)
Офлайн
from datetime import datetime d = '2020-04-05T08:53:13+03:00' a = datetime.strptime(d, '%Y-%m-%dT%H:%M:%S%z') a.timestamp() 1586065993.0
Офлайн
Romissevdв python3.7 работает
a = datetime.strptime(d, ‘%Y-%m-%dT%H:%M:%S%z’)
Отредактировано zabigundi (Апрель 5, 2020 11:59:00)
Офлайн
Да в версиях python до 3.7 это работать не будет. В версиях ниже ожидается формат часового пояса без двоеточий.
Офлайн
RomissevdПодскажите пожалуйста как решить, очень нужно, буду очень признателен
Да в версиях python до 3.7 это работать не будет. В версиях ниже ожидается формат часового пояса без двоеточий.
Офлайн
Вот костыльное решение конечно же, но будет работать
import re from datetime import datetime FORMAT_DATETIME = '%Y-%m-%dT%H:%M:%S%z' d = '2020-04-05T08:53:13+03:00' try: a = datetime.strptime(d, FORMAT_DATETIME) except ValueError: print('version python < 3.7') tz = re.search(r'[+]\d{2}\:\d{2}', d).group() tz_old_format = ''.join(tz.split(':')) d = re.sub(r'[+]\d{2}\:\d{2}', tz_old_format, d) a = datetime.strptime(d, FORMAT_DATETIME) print(a.timestamp())
Отредактировано Romissevd (Апрель 5, 2020 12:31:37)
Офлайн
RomissevdСПАСИБО ОГРОМЕННОЕ!!!!
import re
from datetime import datetime
FORMAT_DATETIME = ‘%Y-%m-%dT%H:%M:%S%z’
d = ‘2020-04-05T08:53:13+03:00’
try:
a = datetime.strptime(d, FORMAT_DATETIME)
except ValueError:
print('version python < 3.7')
tz = re.search(r'\d{2}\:\d{2}', d).group()
tz_old_format = ‘'.join(tz.split(’:'))
d = re.sub(r'\d{2}\:\d{2}', tz_old_format, d)
a = datetime.strptime(d, FORMAT_DATETIME)
print(a.timestamp())
Офлайн