Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #19917 -- Added microseconds in default TIME_INPUT_FORMATS

Thanks minddust for the report.
  • Loading branch information...
commit 384c180e414a982a6cc5ccabc675bcfb4fd80988 1 parent fe5d9fe
@claudep claudep authored
View
1  django/conf/global_settings.py
@@ -365,6 +365,7 @@
# * Note that these format strings are different from the ones to display dates
TIME_INPUT_FORMATS = (
'%H:%M:%S', # '14:30:59'
+ '%H:%M:%S.%f', # '14:30:59.000200'
'%H:%M', # '14:30'
)
View
2  django/utils/formats.py
@@ -19,7 +19,7 @@
ISO_INPUT_FORMATS = {
'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': (
'%Y-%m-%d %H:%M:%S',
'%Y-%m-%d %H:%M:%S.%f',
View
5 docs/ref/settings.txt
@@ -1731,6 +1731,7 @@ Default::
(
'%H:%M:%S', # '14:30:59'
+ '%H:%M:%S.%f', # '14:30:59.000200'
'%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`.
+.. versionchanged:: 1.6
+
+Input format with microseconds has been added.
+
.. _datetime: http://docs.python.org/library/datetime.html#strftime-strptime-behavior
.. setting:: TIME_ZONE
View
7 tests/forms_tests/tests/input_formats.py
@@ -9,7 +9,8 @@
@override_settings(TIME_INPUT_FORMATS=["%I:%M:%S %p", "%I:%M %p"], USE_L10N=True)
class LocalizedTimeTests(SimpleTestCase):
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')
def tearDown(self):
@@ -37,6 +38,10 @@ def test_timeField(self):
text = f.widget._format_value(result)
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):
"Localized TimeFields act as unlocalized widgets"
f = forms.TimeField(localize=True)
Please sign in to comment.
Something went wrong with that request. Please try again.