绑定值时,日期时间格式过于复杂,AngularJS

时间:2016-12-20 07:09:48

标签: javascript jquery angularjs asp.net-mvc

我的angularJS WCFrest项目上有一个日期选择器

enter image description here

我使用

获取数据



<div class="col-md-4">
  <input id="txtOldDate" type="date" class="datepicker" ng-model="oldDate" />
</div>
&#13;
&#13;
&#13;

但是当我获得数据时获取的数据太复杂了

  

2016年12月16日星期五00:00:00 GMT + 07(东南亚标准时间)

我只想获得日期选择器界面上的值

  

2016年12月16日

这是我的controller.js

&#13;
&#13;
$scope.SearchApproval = function(employeeID, oldDate, newDate, departemen, approver) {
  var promiseGet = GetApproval.GetApprovalData($scope.employeeID, $scope.oldDate, $scope.newDate, $scope.departemen, $scope.approver);
  //GetApprovalData();
  promiseGet.then(function(pl) {
      $scope.GetApprovalData = pl.data
    },
    function(errorPl) {
      console.log('Some Error in Getting Records.', errorPl);
    });
}
&#13;
&#13;
&#13;

有没有办法格式化结果?

我已经尝试了$ filter

  

$ scope.oldDate = $ filter(&#39; date&#39;)(new Date(dateString),&#39; yyyy-MM-dd&#39;);

但它给了我这个错误

  

错误:[ngModel:datefmt]预期2016-12-20为日期

3 个答案:

答案 0 :(得分:2)

请查看此Angular Moment JsMoment Js,这可能会有所帮助。

您可以使用时刻js

将其转换为以下内容
$scope.oldDate = moment(dateString).format("YYYY-MM-DD");

要使用此功能,您必须在项目中添加Angular时刻,并在上面的链接中解释如何使用nuget或bower或npm添加。

答案 1 :(得分:0)

感谢您的所有答案,帮助我。

最后我已经解决了自己的问题。问题实际上是输入类型=&#34;日期&#34;。当我将其更改为type =&#34; text&#34;。它只能发送日期。

这是结果

http://localhost:51458/ServiceRequest.svc/GetApproval?employeeID=&oldDate=2000-01-01

答案 2 :(得分:0)

试试这个

 var mydate = $scope.oldDate.getFullYear()+ "-" +  ($scope.oldDate.getMonth() + 1) + "-" + $scope.oldDate.getDate()