R-2.0.4
This commit is contained in:
+14
-11
@@ -1793,18 +1793,21 @@ class BaseAdapter(ConnectionPool):
|
||||
|
||||
def parse_datetime(self, value, field_type):
|
||||
if not isinstance(value, datetime.datetime):
|
||||
if '+' in value:
|
||||
value,tz = value.split('+')
|
||||
h,m = tz.split(':')
|
||||
dt = datetime.timedelta(seconds=3600*int(h)+60*int(m))
|
||||
elif '-' in value:
|
||||
value,tz = value.split('-')
|
||||
h,m = tz.split(':')
|
||||
dt = -datetime.timedelta(seconds=3600*int(h)+60*int(m))
|
||||
else:
|
||||
dt = None
|
||||
try:
|
||||
if '+' in value:
|
||||
value,tz = value.split('+')
|
||||
h,m = tz.split(':')
|
||||
dt = datetime.timedelta(seconds=3600*int(h)+60*int(m))
|
||||
elif '-' in value:
|
||||
value,tz = value.split('-')
|
||||
h,m = tz.split(':')
|
||||
dt = -datetime.timedelta(seconds=3600*int(h)+60*int(m))
|
||||
else:
|
||||
dt = None
|
||||
except: # invalid timezone format (should never happen)
|
||||
pass
|
||||
date_part, time_part = (
|
||||
str(value).replace('T',' ')+' ').split(' ',1)
|
||||
str(value)[:19].replace('T',' ')+' ').split(' ',1)
|
||||
(y, m, d) = map(int,date_part.split('-'))
|
||||
time_parts = time_part and time_part.split(':')[:3] or (0,0,0)
|
||||
while len(time_parts)<3: time_parts.append(0)
|
||||
|
||||
Reference in New Issue
Block a user