caselawclient.models.utilities.dates
1from datetime import datetime 2 3from dateutil.parser import isoparse 4from pytz import UTC, tzinfo 5 6 7def parse_string_date_as_utc(iso_string: str, timezone: tzinfo.BaseTzInfo) -> datetime: 8 """iso_string might be aware or unaware: 9 ensure that it is converted to a UTC-aware datetime""" 10 11 mixed_date = isoparse(iso_string) 12 aware_date = mixed_date if mixed_date.tzinfo else timezone.localize(mixed_date) 13 14 # make UTC 15 utc_date = aware_date.astimezone(UTC) 16 return utc_date
def
parse_string_date_as_utc(iso_string: str, timezone: pytz.tzinfo.BaseTzInfo) -> datetime.datetime:
8def parse_string_date_as_utc(iso_string: str, timezone: tzinfo.BaseTzInfo) -> datetime: 9 """iso_string might be aware or unaware: 10 ensure that it is converted to a UTC-aware datetime""" 11 12 mixed_date = isoparse(iso_string) 13 aware_date = mixed_date if mixed_date.tzinfo else timezone.localize(mixed_date) 14 15 # make UTC 16 utc_date = aware_date.astimezone(UTC) 17 return utc_date
iso_string might be aware or unaware: ensure that it is converted to a UTC-aware datetime