diff --git a/backend/condition/utils/date_utils.py b/backend/condition/utils/date_utils.py index 4535acd9..713d151c 100644 --- a/backend/condition/utils/date_utils.py +++ b/backend/condition/utils/date_utils.py @@ -5,6 +5,14 @@ from typing import Any def normalise_date(value: Any, allow_none: bool = True) -> date | None: if value is None and allow_none: return None + if isinstance(value, datetime): return value.date() + + if isinstance(value, str): + try: + return datetime.strptime(value.strip(), "%d/%m/%Y").date() + except ValueError as exc: + raise ValueError(f"Invalid date string: {value!r}") from exc + raise ValueError(f"Unexpected date value: {value!r}") \ No newline at end of file