From 84d142aeb14484013213a60fe578d1b37c11db39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Sabatti=C3=A9?= Date: Wed, 4 Jun 2025 17:59:25 +0200 Subject: [PATCH] Fixed: timezone has offset due to device timezone --- app/schemas.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/schemas.py b/app/schemas.py index 78c1853..054174d 100644 --- a/app/schemas.py +++ b/app/schemas.py @@ -98,9 +98,14 @@ def _parse_date(value:datetime | int | str | None): value_as_datetime = dateutil.parser.parse(value) if value_as_datetime.tzinfo is None and not settings.sqlite: - value_as_datetime = value_as_datetime.replace(tzinfo=timezone.utc) - elif value_as_datetime.tzinfo is not None and settings.sqlite: - value_as_datetime = value_as_datetime.astimezone(timezone.utc).replace(tzinfo=None) + import datetime as dt + local_tz = dt.datetime.now(dt.timezone.utc).astimezone().tzinfo + value_as_datetime = value_as_datetime.replace(tzinfo=local_tz).astimezone(timezone.utc) + elif value_as_datetime.tzinfo is not None: + if settings.sqlite: + value_as_datetime = value_as_datetime.astimezone(timezone.utc).replace(tzinfo=None) + else: + value_as_datetime = value_as_datetime.astimezone(timezone.utc) return value_as_datetime