From 142578c9474d190d2c45e55172d99d41d41d8a27 Mon Sep 17 00:00:00 2001 From: roboes Date: Sat, 25 Jan 2025 16:44:46 +0100 Subject: [PATCH] Update datetime module as datetime.datetime.utcfromtimestamp() is deprecated --- fitparse/processors.py | 4 ++-- tests/test.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fitparse/processors.py b/fitparse/processors.py index 6848584..34b36ba 100644 --- a/fitparse/processors.py +++ b/fitparse/processors.py @@ -70,7 +70,7 @@ def process_type_bool(self, field_data): def process_type_date_time(self, field_data): value = field_data.value if value is not None and value >= 0x10000000: - field_data.value = datetime.datetime.utcfromtimestamp(UTC_REFERENCE + value) + field_data.value = datetime.datetime.fromtimestamp(timestamp=(UTC_REFERENCE + value), tz=datetime.timezone.utc).replace(tzinfo=None) field_data.units = None # Units were 's', set to None def process_type_local_date_time(self, field_data): @@ -78,7 +78,7 @@ def process_type_local_date_time(self, field_data): # NOTE: This value was created on the device using it's local timezone. # Unless we know that timezone, this value won't be correct. However, if we # assume UTC, at least it'll be consistent. - field_data.value = datetime.datetime.utcfromtimestamp(UTC_REFERENCE + field_data.value) + field_data.value = datetime.datetime.fromtimestamp(timestamp=(UTC_REFERENCE + field_data.value), tz=datetime.timezone.utc).replace(tzinfo=None) field_data.units = None def process_type_localtime_into_day(self, field_data): diff --git a/tests/test.py b/tests/test.py index 77082fb..e4851d5 100755 --- a/tests/test.py +++ b/tests/test.py @@ -66,7 +66,7 @@ def generate_fitfile(data=None, endian='<'): def secs_to_dt(secs): - return datetime.datetime.utcfromtimestamp(secs + UTC_REFERENCE) + return datetime.datetime.fromtimestamp(timestamp=(secs + UTC_REFERENCE), tz=datetime.timezone.utc).replace(tzinfo=None) def testfile(filename):