#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 django-updates+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/052.3f360f55bf7a6e56b06cc1de3564d156%40djangoproject.com.

Reply via email to