diff --git a/pyproject.toml b/pyproject.toml index f6f85d264b..875bedf95d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,6 +54,8 @@ dependencies = [ "PyQt6_WebEngine == 6.8.0", "MacFSEvents == 0.8.4; sys_platform == 'darwin'", "xxhash == 3.3.0", + "tzdata == 2025.2", + "tzlocal == 5.3.1", ] [project.urls] diff --git a/src/calibre/utils/iso8601.py b/src/calibre/utils/iso8601.py index 3a95946c81..c4d58cdfa3 100644 --- a/src/calibre/utils/iso8601.py +++ b/src/calibre/utils/iso8601.py @@ -3,11 +3,18 @@ from datetime import datetime, timedelta, timezone +from zoneinfo import ZoneInfo + +import tzlocal from calibre_extensions import speedup utc_tz = timezone.utc -local_tz = datetime.now().astimezone().tzinfo +try: + tz_name = tzlocal.get_localzone_name() + local_tz = ZoneInfo(tz_name) +except Exception: + local_tz = datetime.now().astimezone().tzinfo UNDEFINED_DATE = datetime(101,1,1, tzinfo=utc_tz)