Coverage for heritrace/utils/converters.py: 100%
11 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-04-18 11:10 +0000
« prev ^ index » next coverage.py v7.6.12, created at 2025-04-18 11:10 +0000
1from datetime import timezone
3import dateutil.parser
6def convert_to_datetime(date_str, stringify=False):
7 try:
8 dt = dateutil.parser.parse(date_str)
9 # Convert to UTC timezone regardless of input timezone
10 if dt.tzinfo is not None:
11 dt = dt.astimezone(timezone.utc)
12 else:
13 dt = dt.replace(tzinfo=timezone.utc)
14 return dt if not stringify else dt.isoformat()
15 except (ValueError, TypeError):
16 return None