HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //snap/certbot/5528/lib64/python3.12/site-packages/pyrfc3339/utils.py
from datetime import datetime


def datetime_utcoffset(dt: datetime) -> float:
    """
    Return the UTC offset for an aware :class:`datetime.datetime` in seconds.

    >>> from datetime import datetime
    >>> from zoneinfo import ZoneInfo
    >>> z = ZoneInfo('US/Eastern')
    >>> dt = datetime(2024, 11, 5, 19, 7, 6, tzinfo=z)
    >>> datetime_utcoffset(dt)
    -18000.0

    >>> dt = datetime(2024, 11, 5, 19, 7, 6)
    >>> datetime_utcoffset(dt)
    Traceback (most recent call last):
    ...
    AssertionError

    :param datetime.datetime dt: a :class:`~datetime.datetime` instance; must be aware (that is, have a timezone attached)
    :return: the UTC offset of the supplied :class:`~datetime.datetime` in seconds
    :rtype: float

    """

    assert dt.tzinfo is not None

    tz = dt.tzinfo
    offset = tz.utcoffset(dt)

    assert offset is not None

    return offset.total_seconds()