diff --git a/datascout/_timescout.py b/datascout/_timescout.py index fbb9f08071f7e65571f7366bb0a9440c972e6567..1d0c2872cb5cc290c043d6025bb2247f12b300f8 100644 --- a/datascout/_timescout.py +++ b/datascout/_timescout.py @@ -3,8 +3,6 @@ Implementation of sweet functions to convert time data from one format to anothe """ import pytz import datetime -import time -from dateutil.parser import parse as dateparser def unixtime_to_datetime(unixtime_ns, time_zone = 'utc'): if isinstance(time_zone, str): @@ -37,7 +35,7 @@ def datetime_to_unixtime(date_time): epoch = datetime.datetime.fromtimestamp(0, tz=datetime.timezone.utc) return int((date_time-epoch).total_seconds()*1e6)*1000 -def string_to_datetime(date_string, check_timezone=True): +def string_to_datetime(date_string): ''' Uses standard datetime function to parse a string in the ISO format @@ -46,14 +44,10 @@ def string_to_datetime(date_string, check_timezone=True): Out: datetime.datetime(2022, 1, 21, 15, 55, 34, 123555, tzinfo=datetime.timezone(datetime.timedelta(seconds=3600), 'CET')) :param date_string: - :param check_timezone: check that output datetime have a timezone. If not, add local timezone info (default=True) :return: ''' - output = dateparser(date_string) - if check_timezone and output.tzinfo is None: - local_time_zone = datetime.datetime.utcnow().astimezone().tzinfo - output = output.astimezone(local_time_zone) - return output + + return datetime.datetime.fromisoformat(date_string).astimezone() def string_to_unixtime(date_string): ''' @@ -62,7 +56,7 @@ def string_to_unixtime(date_string): :param date_string: date+time in ISO string format :return: unix timestamp in ns ''' - return datetime_to_unixtime(string_to_datetime(date_string, check_timezone=False)) + return datetime_to_unixtime(string_to_datetime(date_string)) def unixtime_to_string(unixtime_ns, time_zone = 'utc', format = '%Y-%m-%d %H:%M:%S.%f'): '''