TransWikia.com

Конвертация строки в дату python

Stack Overflow на русском Asked by ss_beer on December 2, 2021

Есть строка вида '2020-07-22T16:41:35.521+0300'
Как из нее получить дату в формате dd/mm/yyyy hh:mi:ss?

2 Answers

Так как формат вводной даты неизменный (ISO 8601), можно просто использовать срезы:

date_ = '2020-07-22T16:41:35.521+0300'
_____ = '0123-56-89-12:45:78.012+4567'             # только для определения позиций

dd = date_[8:10]
mm = date_[5:7]
yyyy = date_[0:4]
hhmmss = date_[11:19]

result = f'{dd}/{mm}/{yyyy} {hhmmss}'

Результат:

'22/07/2020 16:41:35'

Answered by MarianD on December 2, 2021

from datetime import datetime

print(datetime.strptime('2020-07-22T16:41:35.521+0300', '%Y-%m-%dT%H:%M:%S.%f%z').strftime('%d/%m/%Y %H:%M:%S'))

Если кому-то прям совсем не нравится datetime можно через re:

import re

s = '2020-07-22T16:41:35.521+0300'
yyyy, mm, dd, h, m, ss, *_ = re.split(r'[T:.-]', s)

# или 
yyyy, mm, dd, h, m, ss, *_ = re.findall(r'd+', s)

print(f'{dd}/{mm}/{yyyy} {h}:{m}:{ss}')

# результат будет идентичный

Answered by Namerek on December 2, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP