summaryrefslogtreecommitdiff
path: root/src/apscheduler/util.py
blob: 1611ec7ec0f052f76323182e8170271033749f60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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()