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

1from datetime import timezone 

2 

3import dateutil.parser 

4 

5 

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