diff options
| author | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2010-09-10 18:09:18 +0000 |
|---|---|---|
| committer | Malcolm Tredinnick <malcolm.tredinnick@gmail.com> | 2010-09-10 18:09:18 +0000 |
| commit | 443cb9b6edb227211effcbc9e1534ee04a9579af (patch) | |
| tree | 379b4b3d59d2c1b46b4316c3e0b4978191ed9ff6 /django/contrib/admin/media/js/dateparse.js | |
| parent | 037b579b5ed5ba75497230a26ca93156cf0cdc5c (diff) | |
Fixed date parsing of 31st dates when current month has 30 days (!!).
Patch from rich@tablexi.com. Fixed #2975.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13713 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/contrib/admin/media/js/dateparse.js')
| -rw-r--r-- | django/contrib/admin/media/js/dateparse.js | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/django/contrib/admin/media/js/dateparse.js b/django/contrib/admin/media/js/dateparse.js index e1c870e146..3cb82dea13 100644 --- a/django/contrib/admin/media/js/dateparse.js +++ b/django/contrib/admin/media/js/dateparse.js @@ -100,8 +100,9 @@ var dateParsePatterns = [ { re: /^(\d{1,2})(?:st|nd|rd|th)? (\w+)$/i, handler: function(bits) { var d = new Date(); - d.setDate(parseInt(bits[1], 10)); + d.setDate(1); d.setMonth(parseMonth(bits[2])); + d.setDate(parseInt(bits[1], 10)); return d; } }, @@ -109,9 +110,10 @@ var dateParsePatterns = [ { re: /^(\d{1,2})(?:st|nd|rd|th)? (\w+),? (\d{4})$/i, handler: function(bits) { var d = new Date(); - d.setDate(parseInt(bits[1], 10)); - d.setMonth(parseMonth(bits[2])); + d.setDate(1); d.setYear(bits[3]); + d.setMonth(parseMonth(bits[2])); + d.setDate(parseInt(bits[1], 10)); return d; } }, @@ -119,8 +121,9 @@ var dateParsePatterns = [ { re: /^(\w+) (\d{1,2})(?:st|nd|rd|th)?$/i, handler: function(bits) { var d = new Date(); - d.setDate(parseInt(bits[2], 10)); + d.setDate(1); d.setMonth(parseMonth(bits[1])); + d.setDate(parseInt(bits[2], 10)); return d; } }, @@ -128,9 +131,10 @@ var dateParsePatterns = [ { re: /^(\w+) (\d{1,2})(?:st|nd|rd|th)?,? (\d{4})$/i, handler: function(bits) { var d = new Date(); - d.setDate(parseInt(bits[2], 10)); - d.setMonth(parseMonth(bits[1])); + d.setDate(1); d.setYear(bits[3]); + d.setMonth(parseMonth(bits[1])); + d.setDate(parseInt(bits[2], 10)); return d; } }, @@ -158,9 +162,10 @@ var dateParsePatterns = [ { re: /(\d{1,2})\/(\d{1,2})\/(\d{4})/, handler: function(bits) { var d = new Date(); + d.setDate(1); d.setYear(bits[3]); - d.setDate(parseInt(bits[2], 10)); d.setMonth(parseInt(bits[1], 10) - 1); // Because months indexed from 0 + d.setDate(parseInt(bits[2], 10)); return d; } }, @@ -168,6 +173,7 @@ var dateParsePatterns = [ { re: /(\d{4})-(\d{1,2})-(\d{1,2})/, handler: function(bits) { var d = new Date(); + d.setDate(1); d.setYear(parseInt(bits[1])); d.setMonth(parseInt(bits[2], 10) - 1); d.setDate(parseInt(bits[3], 10)); |
