Fixed #19917 -- Added microseconds in default TIME_INPUT_FORMATS
Thanks minddust for the report.
This commit is contained in:
parent
fe5d9fe5fe
commit
384c180e41
|
@ -365,6 +365,7 @@ DATE_INPUT_FORMATS = (
|
||||||
# * Note that these format strings are different from the ones to display dates
|
# * Note that these format strings are different from the ones to display dates
|
||||||
TIME_INPUT_FORMATS = (
|
TIME_INPUT_FORMATS = (
|
||||||
'%H:%M:%S', # '14:30:59'
|
'%H:%M:%S', # '14:30:59'
|
||||||
|
'%H:%M:%S.%f', # '14:30:59.000200'
|
||||||
'%H:%M', # '14:30'
|
'%H:%M', # '14:30'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ _format_modules_cache = {}
|
||||||
|
|
||||||
ISO_INPUT_FORMATS = {
|
ISO_INPUT_FORMATS = {
|
||||||
'DATE_INPUT_FORMATS': ('%Y-%m-%d',),
|
'DATE_INPUT_FORMATS': ('%Y-%m-%d',),
|
||||||
'TIME_INPUT_FORMATS': ('%H:%M:%S', '%H:%M'),
|
'TIME_INPUT_FORMATS': ('%H:%M:%S', '%H:%M:%S.%f', '%H:%M'),
|
||||||
'DATETIME_INPUT_FORMATS': (
|
'DATETIME_INPUT_FORMATS': (
|
||||||
'%Y-%m-%d %H:%M:%S',
|
'%Y-%m-%d %H:%M:%S',
|
||||||
'%Y-%m-%d %H:%M:%S.%f',
|
'%Y-%m-%d %H:%M:%S.%f',
|
||||||
|
|
|
@ -1731,6 +1731,7 @@ Default::
|
||||||
|
|
||||||
(
|
(
|
||||||
'%H:%M:%S', # '14:30:59'
|
'%H:%M:%S', # '14:30:59'
|
||||||
|
'%H:%M:%S.%f', # '14:30:59.000200'
|
||||||
'%H:%M', # '14:30'
|
'%H:%M', # '14:30'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1744,6 +1745,10 @@ precedence and will be applied instead.
|
||||||
|
|
||||||
See also :setting:`DATE_INPUT_FORMATS` and :setting:`DATETIME_INPUT_FORMATS`.
|
See also :setting:`DATE_INPUT_FORMATS` and :setting:`DATETIME_INPUT_FORMATS`.
|
||||||
|
|
||||||
|
.. versionchanged:: 1.6
|
||||||
|
|
||||||
|
Input format with microseconds has been added.
|
||||||
|
|
||||||
.. _datetime: http://docs.python.org/library/datetime.html#strftime-strptime-behavior
|
.. _datetime: http://docs.python.org/library/datetime.html#strftime-strptime-behavior
|
||||||
|
|
||||||
.. setting:: TIME_ZONE
|
.. setting:: TIME_ZONE
|
||||||
|
|
|
@ -9,7 +9,8 @@ from django.test import SimpleTestCase
|
||||||
@override_settings(TIME_INPUT_FORMATS=["%I:%M:%S %p", "%I:%M %p"], USE_L10N=True)
|
@override_settings(TIME_INPUT_FORMATS=["%I:%M:%S %p", "%I:%M %p"], USE_L10N=True)
|
||||||
class LocalizedTimeTests(SimpleTestCase):
|
class LocalizedTimeTests(SimpleTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
# nl/formats.py has customized TIME_INPUT_FORMATS
|
# nl/formats.py has customized TIME_INPUT_FORMATS:
|
||||||
|
# ('%H:%M:%S', '%H.%M:%S', '%H.%M', '%H:%M')
|
||||||
activate('nl')
|
activate('nl')
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
|
@ -37,6 +38,10 @@ class LocalizedTimeTests(SimpleTestCase):
|
||||||
text = f.widget._format_value(result)
|
text = f.widget._format_value(result)
|
||||||
self.assertEqual(text, "13:30:00")
|
self.assertEqual(text, "13:30:00")
|
||||||
|
|
||||||
|
# ISO formats are accepted, even if not specified in formats.py
|
||||||
|
result = f.clean('13:30:05.000155')
|
||||||
|
self.assertEqual(result, time(13,30,5,155))
|
||||||
|
|
||||||
def test_localized_timeField(self):
|
def test_localized_timeField(self):
|
||||||
"Localized TimeFields act as unlocalized widgets"
|
"Localized TimeFields act as unlocalized widgets"
|
||||||
f = forms.TimeField(localize=True)
|
f = forms.TimeField(localize=True)
|
||||||
|
|
Loading…
Reference in New Issue