$39 GRAYBYTE WORDPRESS FILE MANAGER $42

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/alt/python37/lib64/python3.7/site-packages/MySQLdb/

HOME
Current File : /opt/alt/python37/lib64/python3.7/site-packages/MySQLdb//times.py
"""times module

This module provides some Date and Time classes for dealing with MySQL data.

Use Python datetime module to handle date and time columns.
"""
from time import localtime
from datetime import date, datetime, time, timedelta
from _mysql import string_literal

Date = date
Time = time
TimeDelta = timedelta
Timestamp = datetime

DateTimeDeltaType = timedelta
DateTimeType = datetime

def DateFromTicks(ticks):
    """Convert UNIX ticks into a date instance."""
    return date(*localtime(ticks)[:3])

def TimeFromTicks(ticks):
    """Convert UNIX ticks into a time instance."""
    return time(*localtime(ticks)[3:6])

def TimestampFromTicks(ticks):
    """Convert UNIX ticks into a datetime instance."""
    return datetime(*localtime(ticks)[:6])

format_TIME = format_DATE = str

def format_TIMEDELTA(v):
    seconds = int(v.seconds) % 60
    minutes = int(v.seconds // 60) % 60
    hours = int(v.seconds // 3600) % 24
    return '%d %d:%d:%d' % (v.days, hours, minutes, seconds)

def format_TIMESTAMP(d):
    """
    :type d: datetime.datetime
    """
    if d.microsecond:
        fmt = "{0.year:04}-{0.month:02}-{0.day:02} {0.hour:02}:{0.minute:02}:{0.second:02}.{0.microsecond:06}"
    else:
        fmt = "{0.year:04}-{0.month:02}-{0.day:02} {0.hour:02}:{0.minute:02}:{0.second:02}"
    return fmt.format(d)


def DateTime_or_None(s):
    try:
        if len(s) < 11:
            return Date_or_None(s)

        micros = s[20:]

        if len(micros) == 0:
            # 12:00:00
            micros = 0
        elif len(micros) < 7:
            # 12:00:00.123456
            micros = int(micros) * 10 ** (6 - len(micros))
        else:
            return None

        return datetime(
            int(s[:4]),          # year
            int(s[5:7]),         # month
            int(s[8:10]),        # day
            int(s[11:13] or 0),  # hour
            int(s[14:16] or 0),  # minute
            int(s[17:19] or 0),  # second
            micros,              # microsecond
        )
    except ValueError:
        return None

def TimeDelta_or_None(s):
    try:
        h, m, s = s.split(':')
        if '.' in s:
            s, ms = s.split('.')
            ms = ms.ljust(6, '0')
        else:
            ms = 0
        if h[0] == '-':
            negative = True
        else:
            negative = False
        h, m, s, ms = abs(int(h)), int(m), int(s), int(ms)
        td = timedelta(hours=h, minutes=m, seconds=s,
                       microseconds=ms)
        if negative:
            return -td
        else:
            return td
    except ValueError:
        # unpacking or int/float conversion failed
        return None

def Time_or_None(s):
    try:
        h, m, s = s.split(':')
        if '.' in s:
            s, ms = s.split('.')
            ms = ms.ljust(6, '0')
        else:
            ms = 0
        h, m, s, ms = int(h), int(m), int(s), int(ms)
        return time(hour=h, minute=m, second=s,
                    microsecond=ms)
    except ValueError:
        return None

def Date_or_None(s):
    try:
        return date(
            int(s[:4]),    # year
            int(s[5:7]),   # month
            int(s[8:10]),  # day
        )
    except ValueError:
        return None

def DateTime2literal(d, c):
    """Format a DateTime object as an ISO timestamp."""
    return string_literal(format_TIMESTAMP(d), c)

def DateTimeDelta2literal(d, c):
    """Format a DateTimeDelta object as a time."""
    return string_literal(format_TIMEDELTA(d),c)

def mysql_timestamp_converter(s):
    """Convert a MySQL TIMESTAMP to a Timestamp object."""
    # MySQL>4.1 returns TIMESTAMP in the same format as DATETIME
    if s[4] == '-': return DateTime_or_None(s)
    s = s + "0"*(14-len(s)) # padding
    parts = map(int, filter(None, (s[:4],s[4:6],s[6:8],
                                   s[8:10],s[10:12],s[12:14])))
    try:
        return Timestamp(*parts)
    except (SystemExit, KeyboardInterrupt):
        raise  # pragma: no cover
    except:
        return None

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
13 Aug 2025 1.05 AM
root / 996
0755
__pycache__
--
13 Aug 2025 1.05 AM
root / 996
0755
constants
--
13 Aug 2025 1.05 AM
root / 996
0755
__init__.py
3.157 KB
20 Feb 2017 2.19 PM
root / 996
0644
compat.py
0.182 KB
28 Apr 2014 12.17 PM
root / 996
0644
connections.py
14.319 KB
20 Feb 2017 3.13 PM
root / 996
0644
converters.py
3.752 KB
6 Feb 2015 7.59 PM
root / 996
0644
cursors.py
19.914 KB
29 Sep 2016 3.11 PM
root / 996
0644
release.py
0.105 KB
7 Mar 2024 2.51 PM
root / 996
0644
times.py
3.923 KB
26 Jul 2016 3.12 PM
root / 996
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF