#32727: Support spaces separaters in ISO-8601 datetimes between times and 
timezone
strings
--------------------------------------+------------------------
               Reporter:  Ben Wilber  |          Owner:  nobody
                   Type:  Bug         |         Status:  new
              Component:  Utilities   |        Version:  3.2
               Severity:  Normal      |       Keywords:
           Triage Stage:  Unreviewed  |      Has patch:  0
    Needs documentation:  0           |    Needs tests:  0
Patch needs improvement:  0           |  Easy pickings:  0
                  UI/UX:  0           |
--------------------------------------+------------------------
 According to ISO-8601, there can be any number of whitespace characters
 between the time strings and timezone strings.

 Unfortunately the spec isn't public, but here's the link anyway
 https://www.iso.org/iso-8601-date-and-time-format.html.


 Examples:

 This is a valid ISO-8601 datetime string:

 ```
 2012-04-23T10:20:30.400-02
 ```
 Django's `django.utils.dateparse.parse_datetime` parses this correctly.

 This is also a valid ISO-8601 datetime string:
 ```
 2012-04-23T10:20:30.400  -02
 ```
 Django's `django.utils.dateparse.parse_datetime` does not parse this
 correctly and returns `None`,

 However, `python-dateutil` parses it correctly.  The difference is that
 Django uses a very brittle REGEX to parse ISO-8601 datetime strings, and
 python-dateutil does not.

 I would recommend that Django:

 1) Depend on python-dateutil
 2) Inline python-dateutils' parsing functions

 As far as I know there is no regex that can parse the full spec of
 ISO-8601 datetime strings.


 In the meantime, this is a patch to support (valid) whitespace characters
 between the seconds/millseconds part and the timezone string.

 GitHub Pull Request: https://github.com/django/django/pull/14368

-- 
Ticket URL: <https://code.djangoproject.com/ticket/32727>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/052.3f360f55bf7a6e56b06cc1de3564d156%40djangoproject.com.

Reply via email to