MCPcopy Create free account
hub / github.com/PyMySQL/PyMySQL / convert_datetime

Function convert_datetime

pymysql/converters.py:161–188  ·  view source on GitHub ↗

Returns a DATETIME or TIMESTAMP column value as a datetime object: >>> convert_datetime('2007-02-25 23:06:20') datetime.datetime(2007, 2, 25, 23, 6, 20) >>> convert_datetime('2007-02-25T23:06:20') datetime.datetime(2007, 2, 25, 23, 6, 20) Illegal values are returned as

(obj)

Source from the content-addressed store, hash-verified

159
160
161def convert_datetime(obj):
162 """Returns a DATETIME or TIMESTAMP column value as a datetime object:
163
164 >>> convert_datetime('2007-02-25 23:06:20')
165 datetime.datetime(2007, 2, 25, 23, 6, 20)
166 >>> convert_datetime('2007-02-25T23:06:20')
167 datetime.datetime(2007, 2, 25, 23, 6, 20)
168
169 Illegal values are returned as str:
170
171 >>> convert_datetime('2007-02-31T23:06:20')
172 '2007-02-31T23:06:20'
173 >>> convert_datetime('0000-00-00 00:00:00')
174 '0000-00-00 00:00:00'
175 """
176 if isinstance(obj, (bytes, bytearray)):
177 obj = obj.decode("ascii")
178
179 m = DATETIME_RE.match(obj)
180 if not m:
181 return convert_date(obj)
182
183 try:
184 groups = list(m.groups())
185 groups[-1] = _convert_second_fraction(groups[-1])
186 return datetime.datetime(*[int(x) for x in groups])
187 except ValueError:
188 return convert_date(obj)
189
190
191TIMEDELTA_RE = re.compile(r"(-)?(\d{1,3}):(\d{1,2}):(\d{1,2})(?:.(\d{1,6}))?")

Callers

nothing calls this directly

Calls 2

convert_dateFunction · 0.85
_convert_second_fractionFunction · 0.85

Tested by

no test coverage detected