Files
elasticsearch/html_scrapy/guess_date.py
2023-05-14 18:15:10 +02:00

33 lines
1.0 KiB
Python

from datetime import datetime
from dateutil.parser import parse
import locale
from contextlib import suppress
def parse(s):
with suppress(BaseException):
date_format = '%H:%M, %d. %b. %Y'
locale.setlocale(locale.LC_TIME, 'en_US')
parsed_date = datetime.strptime(s, date_format)
return parsed_date.strftime("%Y-%m-%dT%H:%M:%S.%fZ")
with suppress(BaseException):
date_format = '%H:%M, %d. %b. %Y'
locale.setlocale(locale.LC_TIME, 'de_DE')
parsed_date = datetime.strptime(s, date_format)
return parsed_date.strftime("%Y-%m-%dT%H:%M:%S.%fZ")
with suppress(BaseException):
date_format = '%H:%M, %d. %B %Y'
locale.setlocale(locale.LC_TIME, 'de_DE')
parsed_date = datetime.strptime(s, date_format)
return parsed_date.strftime("%Y-%m-%dT%H:%M:%S.%fZ")
with suppress(BaseException):
locale.setlocale(locale.LC_TIME, 'de_DE')
parsed_date = parse(s, dayfirst=True)
return parsed_date.strftime("%Y-%m-%dT%H:%M:%S.%fZ")
return s