title: Issue with date.Parse()
body: <p>I have enter invalid data such as "09/31/2016 10:10 AM"</p>
  
  <p>but actually we dont have any 31th in september 2016, What date.parse() is doing that its calculating the next date "Oct 01, 2016 @ 10:10 AM" as output.</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>angular.module("myModule", [])
         .controller("myController", ['$scope', function ($scope) {
                      
             $scope.dDate = "09/31/2016 10:10 AM";
                      
             $scope.format = function () {
                 $scope.display = Date.parse($scope.dDate);
             }
             $scope.format(); // invoke the format()
         }]);</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"&gt;&lt;/script&gt;
  &lt;body ng-app="myModule" &gt;
      &lt;div ng-controller="myController" ng-form="frm"&gt;
          &lt;input type="text" name="name" style="width:250px;" ng-model="dDate" ng-change="format()" placeholder="MM/dd/YYYY hh:mm AM/PM" ng-pattern="/^(0[1-9]|1[012])[/]([123]0|[012][1-9]|31)[/](19[0-9]{2}|2[0-9]{3}) ([01][0-9]|2[0-3]):([0-5][0-9]) (AM|PM|am|pm)$/" /&gt;
          &lt;div ng-show="!frm.name.$error.pattern"&gt;
              {{display | date : 'MMM dd, yyyy @ hh:mm a'}}
          &lt;/div&gt;
          &lt;div&gt;Error : {{frm.name.$error}}&lt;/div&gt;
      &lt;/div&gt;
  &lt;/body&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>have I done anything wrong?</p>