modular_api/helpers/date_utils.py (15 lines of code) (raw):

from datetime import datetime, timezone from dateutil.parser import isoparse def convert_datetime_to_human_readable(datetime_object) -> str | None: # god like method to handle all possible developer errors. God bless that # day when this method becomes decommissioned and replaced with some # static type checker if not datetime_object: return if isinstance(datetime_object, (int, float)): datetime_object = datetime.fromtimestamp(datetime_object) elif isinstance(datetime_object, str): try: datetime_object = datetime.fromisoformat(datetime_object) except ValueError: datetime_object = isoparse(datetime_object) return datetime_object.strftime("%d.%m.%Y %H:%M:%S") def utc_time_now() -> datetime: """ Uses for datetime compatibility between saas & onprem mode """ return datetime.now(tz=timezone.utc)