Files
wdwalrus ead872a0a5
Build Docker Image / docker (push) Successful in 44s
first commit
2026-04-09 10:42:10 -07:00

27 lines
744 B
Python

from __future__ import annotations
import datetime as dt
from dateutil import parser as date_parser
def parse_datetime(value: str | None) -> dt.datetime | None:
if not value:
return None
try:
return date_parser.parse(value)
except (TypeError, ValueError, OverflowError):
try:
return date_parser.parse(value, fuzzy=True)
except (TypeError, ValueError, OverflowError):
return None
def normalize_date(value: str | None) -> str:
parsed = parse_datetime(value)
if parsed is None:
return ""
if parsed.tzinfo is None or parsed.utcoffset() is None:
return parsed.strftime("%Y-%m-%d %H:%M:%S")
return parsed.isoformat(sep=" ", timespec="seconds")