Ticket #17134: 17134_datetime_bug_fix.diff

File 17134_datetime_bug_fix.diff, 1.1 KB (added by Cliff Dyer, 7 years ago)

Fix for the bug.

  • django/forms/fields.py

    diff -r 0323b4125cec django/forms/fields.py
    a b  
    340340                    return self.strptime(value, format)
    341341                except ValueError:
    342342                    if format.endswith('.%f'):
    343                         if value.count('.') != 1:
     343                        # Compatibility with datetime in pythons < 2.6.
     344                        # See: http://docs.python.org/library/datetime.html#strftime-and-strptime-behavior
     345                        if value.count('.') != format.count('.'):
    344346                            continue
    345347                        try:
    346348                            datetime_str, usecs_str = value.rsplit('.', 1)
    347                             usecs = int(usecs_str)
     349                            usecs = int(usecs_str[:6].ljust(6, '0'))
    348350                            dt = datetime.datetime.strptime(datetime_str, format[:-3])
    349351                            return dt.replace(microsecond=usecs)
    350352                        except ValueError:
Back to Top