Dre4m Shell
Server IP : 85.214.239.14  /  Your IP : 18.118.19.79
Web Server : Apache/2.4.61 (Debian)
System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.18
Disable Function : 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,
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/pyrfc3339/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /lib/python3/dist-packages/pyrfc3339/generator.py
import pytz

from pyrfc3339.utils import timezone, timedelta_seconds


def generate(dt, utc=True, accept_naive=False, microseconds=False):
    '''
    Generate an :RFC:`3339`-formatted timestamp from a
    :class:`datetime.datetime`.

    >>> from datetime import datetime
    >>> generate(datetime(2009,1,1,12,59,59,0,pytz.utc))
    '2009-01-01T12:59:59Z'

    The timestamp will use UTC unless `utc=False` is specified, in which case
    it will use the timezone from the :class:`datetime.datetime`'s
    :attr:`tzinfo` parameter.

    >>> eastern = pytz.timezone('US/Eastern')
    >>> dt = eastern.localize(datetime(2009,1,1,12,59,59))
    >>> generate(dt)
    '2009-01-01T17:59:59Z'
    >>> generate(dt, utc=False)
    '2009-01-01T12:59:59-05:00'

    Unless `accept_naive=True` is specified, the `datetime` must not be naive.

    >>> generate(datetime(2009,1,1,12,59,59,0))
    Traceback (most recent call last):
    ...
    ValueError: naive datetime and accept_naive is False

    >>> generate(datetime(2009,1,1,12,59,59,0), accept_naive=True)
    '2009-01-01T12:59:59Z'

    If `accept_naive=True` is specified, the `datetime` is assumed to be UTC.
    Attempting to generate a local timestamp from a naive datetime will result
    in an error.

    >>> generate(datetime(2009,1,1,12,59,59,0), accept_naive=True, utc=False)
    Traceback (most recent call last):
    ...
    ValueError: cannot generate a local timestamp from a naive datetime

    '''
    if dt.tzinfo is None:
        if accept_naive is True:
            if utc is True:
                dt = dt.replace(tzinfo=pytz.utc)
            else:
                raise ValueError("cannot generate a local timestamp from " +
                                 "a naive datetime")
        else:
            raise ValueError("naive datetime and accept_naive is False")

    if utc is True:
        dt = dt.astimezone(pytz.utc)

    timestamp = dt.strftime('%Y-%m-%dT%H:%M:%S')
    if microseconds is True:
        timestamp += dt.strftime('.%f')
    if dt.tzinfo is pytz.utc:
        timestamp += 'Z'
    else:
        timestamp += timezone(timedelta_seconds(dt.tzinfo.utcoffset(dt)))

    return timestamp

Anon7 - 2022
AnonSec Team