summaryrefslogtreecommitdiff
path: root/src/apscheduler/_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/apscheduler/_utils.py')
-rw-r--r--src/apscheduler/_utils.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/apscheduler/_utils.py b/src/apscheduler/_utils.py
new file mode 100644
index 0000000..1611ec7
--- /dev/null
+++ b/src/apscheduler/_utils.py
@@ -0,0 +1,24 @@
+"""This module contains several handy functions primarily meant for internal use."""
+from __future__ import annotations
+
+import sys
+from datetime import datetime, tzinfo
+from typing import TypeVar
+
+if sys.version_info >= (3, 9):
+ from zoneinfo import ZoneInfo
+else:
+ from backports.zoneinfo import ZoneInfo
+
+T = TypeVar("T")
+
+
+def timezone_repr(timezone: tzinfo) -> str:
+ if isinstance(timezone, ZoneInfo):
+ return timezone.key
+ else:
+ return repr(timezone)
+
+
+def absolute_datetime_diff(dateval1: datetime, dateval2: datetime) -> float:
+ return dateval1.timestamp() - dateval2.timestamp()