Как изменить формат даты регулярным выражением?
Есть примеры:
20150701
20200806
Как разделить на:
2015.07.10
2020.08.06
00 последние убрать Прим.ред.: Автор не уточнил, что это значит. Скорее всего, нерелевантно для решения.
Ответы (2 шт):
Автор решения: MaxU
→ Ссылка
по-моему, в данном случае лучше использовать datetime вместо регулярных выражений:
from datetime import datetime as DT
def convert_dt(dt, to_fmt="%Y.%m.%d", from_fmt="%Y%m%d"):
return DT.strptime(dt, from_fmt).strftime(to_fmt)
тесты:
In [118]: convert_dt("20150701")
Out[118]: '2015.07.01'
In [119]: convert_dt("20200806")
Out[119]: '2020.08.06'
In [120]: convert_dt("20200806", to_fmt="%d.%m.%Y")
Out[120]: '06.08.2020'
In [121]: convert_dt("2020-08-30 11:12:13", from_fmt="%Y-%m-%d %H:%M:%S", to_fmt="%d.%m.%Y %H:%M")
Out[121]: '30.08.2020 11:12'
Автор решения: dIm0n
→ Ссылка
С помощью регулярных выражений, найденное этим:
^(\d{4})(\d\d)(\d\d)$
заменить этим:
$1.$2.$3