If dateutil is present, dateutil.parser is used to aparse the iso dates
This commit is contained in:
parent
3bbd6544bc
commit
525aa12a60
@ -3,6 +3,11 @@ import datetime
|
|||||||
import re
|
import re
|
||||||
from six.moves import builtins
|
from six.moves import builtins
|
||||||
|
|
||||||
|
try:
|
||||||
|
import dateutil.parser
|
||||||
|
except:
|
||||||
|
dateutil = None # noqa
|
||||||
|
|
||||||
date_re = r'(?P<year>-?\d{4,})-(?P<month>\d{2})-(?P<day>\d{2})'
|
date_re = r'(?P<year>-?\d{4,})-(?P<month>\d{2})-(?P<day>\d{2})'
|
||||||
time_re = r'(?P<hour>\d{2}):(?P<min>\d{2}):(?P<sec>\d{2})' + \
|
time_re = r'(?P<hour>\d{2}):(?P<min>\d{2}):(?P<sec>\d{2})' + \
|
||||||
r'(\.(?P<sec_frac>\d+))?'
|
r'(\.(?P<sec_frac>\d+))?'
|
||||||
@ -56,6 +61,8 @@ def parse_isotime(value):
|
|||||||
|
|
||||||
# TODO handle timezone
|
# TODO handle timezone
|
||||||
def parse_isodatetime(value):
|
def parse_isodatetime(value):
|
||||||
|
if dateutil:
|
||||||
|
return dateutil.parser.parse(value)
|
||||||
m = datetime_re.match(value)
|
m = datetime_re.match(value)
|
||||||
if m is None:
|
if m is None:
|
||||||
raise ValueError("'%s' is not a legal datetime value" % (value))
|
raise ValueError("'%s' is not a legal datetime value" % (value))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user