Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Refs #13339 -- Disable %b/%B-based locale datetime input formats, and…

… document that they are problematic.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@13039 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 4e0aa65d16e86cb426c49e33511bf013a47c4fbb 1 parent cae4401
Russell Keith-Magee authored April 28, 2010
2  django/conf/locale/cs/formats.py
@@ -13,7 +13,7 @@
13 13
 DATE_INPUT_FORMATS = (
14 14
     '%d.%m.%Y', '%d.%m.%y',     # '25.10.2006', '25.10.06'
15 15
     '%Y-%m-%d', '%y-%m-%d',     # '2006-10-25', '06-10-25'
16  
-    '%d. %B %Y', '%d. %b. %Y',  # '25. October 2006', '25. Oct. 2006'
  16
+    # '%d. %B %Y', '%d. %b. %Y',  # '25. October 2006', '25. Oct. 2006'
17 17
 )
18 18
 TIME_INPUT_FORMATS = (
19 19
     '%H:%M:%S', # '14:30:59'
2  django/conf/locale/de/formats.py
@@ -13,7 +13,7 @@
13 13
 DATE_INPUT_FORMATS = (
14 14
     '%d.%m.%Y', '%d.%m.%y',     # '25.10.2006', '25.10.06'
15 15
     '%Y-%m-%d', '%y-%m-%d',     # '2006-10-25', '06-10-25'
16  
-    '%d. %B %Y', '%d. %b. %Y',  # '25. October 2006', '25. Oct. 2006'
  16
+    # '%d. %B %Y', '%d. %b. %Y',  # '25. October 2006', '25. Oct. 2006'
17 17
 )
18 18
 TIME_INPUT_FORMATS = (
19 19
     '%H:%M:%S', # '14:30:59'
8  django/conf/locale/en/formats.py
@@ -12,10 +12,10 @@
12 12
 FIRST_DAY_OF_WEEK = 0 # Sunday
13 13
 DATE_INPUT_FORMATS = (
14 14
     '%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', # '2006-10-25', '10/25/2006', '10/25/06'
15  
-    '%b %d %Y', '%b %d, %Y',            # 'Oct 25 2006', 'Oct 25, 2006'
16  
-    '%d %b %Y', '%d %b, %Y',            # '25 Oct 2006', '25 Oct, 2006'
17  
-    '%B %d %Y', '%B %d, %Y',            # 'October 25 2006', 'October 25, 2006'
18  
-    '%d %B %Y', '%d %B, %Y',            # '25 October 2006', '25 October, 2006'
  15
+    # '%b %d %Y', '%b %d, %Y',            # 'Oct 25 2006', 'Oct 25, 2006'
  16
+    # '%d %b %Y', '%d %b, %Y',            # '25 Oct 2006', '25 Oct, 2006'
  17
+    # '%B %d %Y', '%B %d, %Y',            # 'October 25 2006', 'October 25, 2006'
  18
+    # '%d %B %Y', '%d %B, %Y',            # '25 October 2006', '25 October, 2006'
19 19
 )
20 20
 TIME_INPUT_FORMATS = (
21 21
     '%H:%M:%S',     # '14:30:59'
2  django/conf/locale/fr/formats.py
@@ -14,7 +14,7 @@
14 14
     '%d/%m/%Y', '%d/%m/%y', # '25/10/2006', '25/10/06'
15 15
     '%d.%m.%Y', '%d.%m.%y', # Swiss (fr_CH), '25.10.2006', '25.10.06'
16 16
     '%Y-%m-%d', '%y-%m-%d', # '2006-10-25', '06-10-25'
17  
-    '%d %B %Y', '%d %b %Y', # '25 octobre 2006', '25 oct. 2006'
  17
+    # '%d %B %Y', '%d %b %Y', # '25 octobre 2006', '25 oct. 2006'
18 18
 )
19 19
 TIME_INPUT_FORMATS = (
20 20
     '%H:%M:%S', # '14:30:59'
6  django/conf/locale/ka/formats.py
@@ -12,9 +12,9 @@
12 12
 FIRST_DAY_OF_WEEK = 1 # (Monday)
13 13
 DATE_INPUT_FORMATS = (
14 14
     '%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y',     # '2006-10-25', '10/25/2006', '10/25/06'
15  
-    '%d %b %Y', '%d %b, %Y', '%d %b. %Y',   # '25 Oct 2006', '25 Oct, 2006', '25 Oct. 2006'
16  
-    '%d %B %Y', '%d %B, %Y',                # '25 October 2006', '25 October, 2006'
17  
-    '%d.%m.%Y', '%d.%m.%y',                 # '25.10.2006', '25.10.06'
  15
+    # '%d %b %Y', '%d %b, %Y', '%d %b. %Y',   # '25 Oct 2006', '25 Oct, 2006', '25 Oct. 2006'
  16
+    # '%d %B %Y', '%d %B, %Y',                # '25 October 2006', '25 October, 2006'
  17
+    # '%d.%m.%Y', '%d.%m.%y',                 # '25.10.2006', '25.10.06'
18 18
 )
19 19
 TIME_INPUT_FORMATS = (
20 20
     '%H:%M:%S',     # '14:30:59'
10  django/conf/locale/ko/formats.py
@@ -9,13 +9,13 @@
9 9
 MONTH_DAY_FORMAT = 'F월 j일'
10 10
 SHORT_DATE_FORMAT = 'Y-n-j.'
11 11
 SHORT_DATETIME_FORMAT = 'Y-n-j H:i'
12  
-# FIRST_DAY_OF_WEEK = 
  12
+# FIRST_DAY_OF_WEEK =
13 13
 DATE_INPUT_FORMATS = (
14 14
     '%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', # '2006-10-25', '10/25/2006', '10/25/06'
15  
-    '%b %d %Y', '%b %d, %Y',            # 'Oct 25 2006', 'Oct 25, 2006'
16  
-    '%d %b %Y', '%d %b, %Y',            # '25 Oct 2006', '25 Oct, 2006'
17  
-    '%B %d %Y', '%B %d, %Y',            # 'October 25 2006', 'October 25, 2006'
18  
-    '%d %B %Y', '%d %B, %Y',            # '25 October 2006', '25 October, 2006'
  15
+    # '%b %d %Y', '%b %d, %Y',            # 'Oct 25 2006', 'Oct 25, 2006'
  16
+    # '%d %b %Y', '%d %b, %Y',            # '25 Oct 2006', '25 Oct, 2006'
  17
+    # '%B %d %Y', '%B %d, %Y',            # 'October 25 2006', 'October 25, 2006'
  18
+    # '%d %B %Y', '%d %B, %Y',            # '25 October 2006', '25 October, 2006'
19 19
     '%Y년 %m월 %d일',                   # '2006년 10월 25일', with localized suffix.
20 20
 )
21 21
 TIME_INPUT_FORMATS = (
24  django/conf/locale/nl/formats.py
@@ -12,8 +12,8 @@
12 12
 FIRST_DAY_OF_WEEK = 1                   # Monday (in Dutch 'maandag')
13 13
 DATE_INPUT_FORMATS = (
14 14
     '%d-%m-%Y', '%d-%m-%y', '%Y-%m-%d', # '20-01-2009', '20-01-09', '2009-01-20'
15  
-    '%d %b %Y', '%d %b %y',             # '20 jan 2009', '20 jan 09'
16  
-    '%d %B %Y', '%d %B %y',             # '20 januari 2009', '20 januari 09'
  15
+    # '%d %b %Y', '%d %b %y',             # '20 jan 2009', '20 jan 09'
  16
+    # '%d %B %Y', '%d %B %y',             # '20 januari 2009', '20 januari 09'
17 17
 )
18 18
 TIME_INPUT_FORMATS = (
19 19
     '%H:%M:%S',                         # '15:23:35'
@@ -24,24 +24,24 @@
24 24
 DATETIME_INPUT_FORMATS = (
25 25
     # With time in %H:%M:%S :
26 26
     '%d-%m-%Y %H:%M:%S', '%d-%m-%y %H:%M:%S', '%Y-%m-%d %H:%M:%S',  # '20-01-2009 15:23:35', '20-01-09 15:23:35', '2009-01-20 15:23:35'
27  
-    '%d %b %Y %H:%M:%S', '%d %b %y %H:%M:%S',   # '20 jan 2009 15:23:35', '20 jan 09 15:23:35'
28  
-    '%d %B %Y %H:%M:%S', '%d %B %y %H:%M:%S',   # '20 januari 2009 15:23:35', '20 januari 2009 15:23:35'
  27
+    # '%d %b %Y %H:%M:%S', '%d %b %y %H:%M:%S',   # '20 jan 2009 15:23:35', '20 jan 09 15:23:35'
  28
+    # '%d %B %Y %H:%M:%S', '%d %B %y %H:%M:%S',   # '20 januari 2009 15:23:35', '20 januari 2009 15:23:35'
29 29
     # With time in %H.%M:%S :
30 30
     '%d-%m-%Y %H.%M:%S', '%d-%m-%y %H.%M:%S',   # '20-01-2009 15.23:35', '20-01-09 15.23:35'
31  
-    '%d %b %Y %H.%M:%S', '%d %b %y %H.%M:%S',   # '20 jan 2009 15.23:35', '20 jan 09 15.23:35'
32  
-    '%d %B %Y %H.%M:%S', '%d %B %y %H.%M:%S',   # '20 januari 2009 15.23:35', '20 januari 2009 15.23:35'
  31
+    # '%d %b %Y %H.%M:%S', '%d %b %y %H.%M:%S',   # '20 jan 2009 15.23:35', '20 jan 09 15.23:35'
  32
+    # '%d %B %Y %H.%M:%S', '%d %B %y %H.%M:%S',   # '20 januari 2009 15.23:35', '20 januari 2009 15.23:35'
33 33
     # With time in %H:%M :
34 34
     '%d-%m-%Y %H:%M', '%d-%m-%y %H:%M', '%Y-%m-%d %H:%M',   # '20-01-2009 15:23', '20-01-09 15:23', '2009-01-20 15:23'
35  
-    '%d %b %Y %H:%M', '%d %b %y %H:%M',         # '20 jan 2009 15:23', '20 jan 09 15:23'
36  
-    '%d %B %Y %H:%M', '%d %B %y %H:%M',         # '20 januari 2009 15:23', '20 januari 2009 15:23'
  35
+    # '%d %b %Y %H:%M', '%d %b %y %H:%M',         # '20 jan 2009 15:23', '20 jan 09 15:23'
  36
+    # '%d %B %Y %H:%M', '%d %B %y %H:%M',         # '20 januari 2009 15:23', '20 januari 2009 15:23'
37 37
     # With time in %H.%M :
38 38
     '%d-%m-%Y %H.%M', '%d-%m-%y %H.%M',         # '20-01-2009 15.23', '20-01-09 15.23'
39  
-    '%d %b %Y %H.%M', '%d %b %y %H.%M',         # '20 jan 2009 15.23', '20 jan 09 15.23'
40  
-    '%d %B %Y %H.%M', '%d %B %y %H.%M',         # '20 januari 2009 15.23', '20 januari 2009 15.23'
  39
+    # '%d %b %Y %H.%M', '%d %b %y %H.%M',         # '20 jan 2009 15.23', '20 jan 09 15.23'
  40
+    # '%d %B %Y %H.%M', '%d %B %y %H.%M',         # '20 januari 2009 15.23', '20 januari 2009 15.23'
41 41
     # Without time :
42 42
     '%d-%m-%Y', '%d-%m-%y', '%Y-%m-%d',         # '20-01-2009', '20-01-09', '2009-01-20'
43  
-    '%d %b %Y', '%d %b %y',                     # '20 jan 2009', '20 jan 09'
44  
-    '%d %B %Y', '%d %B %y',                     # '20 januari 2009', '20 januari 2009'
  43
+    # '%d %b %Y', '%d %b %y',                     # '20 jan 2009', '20 jan 09'
  44
+    # '%d %B %Y', '%d %B %y',                     # '20 januari 2009', '20 januari 2009'
45 45
 )
46 46
 DECIMAL_SEPARATOR = ','
47 47
 THOUSAND_SEPARATOR = '.'
8  django/conf/locale/no/formats.py
@@ -8,10 +8,10 @@
8 8
 FIRST_DAY_OF_WEEK = 1 # Monday
9 9
 DATE_INPUT_FORMATS = (
10 10
     '%Y-%m-%d', '%j.%m.%Y', '%j.%m.%y', # '2006-10-25', '25.10.2006', '25.10.06'
11  
-    '%Y-%m-%j',                         # '2006-10-25', 
12  
-    '%j. %b %Y', '%j %b %Y',            # '25. okt 2006', '25 okt 2006'
13  
-    '%j. %b. %Y', '%j %b. %Y',          # '25. okt. 2006', '25 okt. 2006'
14  
-    '%j. %B %Y', '%j %B %Y',            # '25. oktober 2006', '25 oktober 2006'
  11
+    '%Y-%m-%j',                         # '2006-10-25',
  12
+    # '%j. %b %Y', '%j %b %Y',            # '25. okt 2006', '25 okt 2006'
  13
+    # '%j. %b. %Y', '%j %b. %Y',          # '25. okt. 2006', '25 okt. 2006'
  14
+    # '%j. %B %Y', '%j %B %Y',            # '25. oktober 2006', '25 oktober 2006'
15 15
 )
16 16
 TIME_INPUT_FORMATS = (
17 17
     '%H:%M:%S',     # '14:30:59'
4  django/conf/locale/pt_BR/formats.py
@@ -12,8 +12,8 @@
12 12
 FIRST_DAY_OF_WEEK = 0  # Sunday
13 13
 DATE_INPUT_FORMATS = (
14 14
     '%Y-%m-%d', '%d/%m/%Y', '%d/%m/%y', # '2006-10-25', '25/10/2006', '25/10/06'
15  
-    '%d de %b de %Y', '%d de %b, %Y',   # '25 de Out de 2006', '25 Out, 2006'
16  
-    '%d de %B de %Y', '%d de %B, %Y',   # '25 de Outubro de 2006', '25 de Outubro, 2006'
  15
+    # '%d de %b de %Y', '%d de %b, %Y',   # '25 de Out de 2006', '25 Out, 2006'
  16
+    # '%d de %B de %Y', '%d de %B, %Y',   # '25 de Outubro de 2006', '25 de Outubro, 2006'
17 17
 )
18 18
 TIME_INPUT_FORMATS = (
19 19
     '%H:%M:%S',     # '14:30:59'
6  django/conf/locale/sr/formats.py
@@ -14,9 +14,9 @@
14 14
     '%Y-%m-%d',                     # '2006-10-25'
15 15
     '%d.%m.%Y.', '%d.%m.%y.',       # '25.10.2006.', '25.10.06.'
16 16
     '%d. %m. %Y.', '%d. %m. %y.',   # '25. 10. 2006.', '25. 10. 06.'
17  
-    '%d. %b %y.', '%d. %B %y.',     # '25. Oct 06.', '25. October 06.'
18  
-    '%d. %b \'%y.', '%d. %B \'%y.', # '25. Oct '06.', '25. October '06.'
19  
-    '%d. %b %Y.', '%d. %B %Y.',     # '25. Oct 2006.', '25. October 2006.'
  17
+    # '%d. %b %y.', '%d. %B %y.',     # '25. Oct 06.', '25. October 06.'
  18
+    # '%d. %b \'%y.', '%d. %B \'%y.', # '25. Oct '06.', '25. October '06.'
  19
+    # '%d. %b %Y.', '%d. %B %Y.',     # '25. Oct 2006.', '25. October 2006.'
20 20
 )
21 21
 TIME_INPUT_FORMATS = (
22 22
     '%H:%M:%S',     # '14:30:59'
6  django/conf/locale/sr_Latn/formats.py
@@ -14,9 +14,9 @@
14 14
     '%Y-%m-%d',                     # '2006-10-25'
15 15
     '%d.%m.%Y.', '%d.%m.%y.',       # '25.10.2006.', '25.10.06.'
16 16
     '%d. %m. %Y.', '%d. %m. %y.',   # '25. 10. 2006.', '25. 10. 06.'
17  
-    '%d. %b %y.', '%d. %B %y.',     # '25. Oct 06.', '25. October 06.'
18  
-    '%d. %b \'%y.', '%d. %B \'%y.', # '25. Oct '06.', '25. October '06.'
19  
-    '%d. %b %Y.', '%d. %B %Y.',     # '25. Oct 2006.', '25. October 2006.'
  17
+    # '%d. %b %y.', '%d. %B %y.',     # '25. Oct 06.', '25. October 06.'
  18
+    # '%d. %b \'%y.', '%d. %B \'%y.', # '25. Oct '06.', '25. October '06.'
  19
+    # '%d. %b %Y.', '%d. %B %Y.',     # '25. Oct 2006.', '25. October 2006.'
20 20
 )
21 21
 TIME_INPUT_FORMATS = (
22 22
     '%H:%M:%S',     # '14:30:59'
10  docs/topics/i18n/localization.txt
@@ -265,8 +265,14 @@ current locale.
265 265
 
266 266
 Django will also use localized formats when parsing data in forms. That means
267 267
 Django uses different formats for different locales when guessing the format
268  
-used by the user when inputting data on forms. Note that Django uses different
269  
-formats for displaying data, and for parsing it.
  268
+used by the user when inputting data on forms.
  269
+
  270
+.. note::
  271
+    Django uses different formats for displaying data to those it uses for
  272
+    parsing data. Most notably, the formats for parsing dates can't use the
  273
+    ``%a`` (abbreviated weekday name), ``%A`` (full weekday name),
  274
+    ``%b`` (abbreviated month name), ``%B`` (full month name),
  275
+    or ``%p`` (AM/PM).
270 276
 
271 277
 To enable a form field to localize input and output data simply use its
272 278
 ``localize`` argument::

0 notes on commit 4e0aa65

Please sign in to comment.
Something went wrong with that request. Please try again.