角力矩误差

时间:2017-05-15 04:05:04

标签: javascript android angularjs

我构建Android应用程序,并在我的应用程序中有一些输入类型日期的搜索功能。我尝试使用从2017-5-10T17:00:00.000Z2017-5-10的解析输入日期,使用moment.angular。在搜索功能工作,但它使我的应用程序错误,并不想移动到其他页面只是在搜索页面中。我不知道哪里出错

这是我的HTML

<label class="item item-input">
  <span class="input-label">Start</span>
  <input type="date" ng-model="trip.start">
</label>

这是我的控制器

$scope.trip.start = moment($scope.trip.start).format("YYYY-MM-DD");

我添加一些srcin我的索引

<script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/2.5.1/moment.min.js"></script>
        <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular.min.js"></script>

请帮我解决这个问题

感谢

2 个答案:

答案 0 :(得分:0)

问题主要是日期格式。给定的日期是2017-5-10T17:00:00.000Z,其格式为YYYY-M-DD而不是标准ISO格式,因此时刻大多无法解析它。根据ISO,日期应为2017-05-10T17:00:00.000Z

注意:.format与输入格式无关,输出格式与输出格式无关。

注意:不要注释,因此将其添加回答:JS的顺序是正确的。 moment独立于angular,因此无需在angular之后显示。

修改

您可以在下方尝试获取日期

    moment(Date.parse($scope.trip.start)).format("YYYY-MM-DD");

答案 1 :(得分:0)

时刻($ scope.trip.start).format(“YYYY-MM-DD”)不是Angular日期对象格式。 作为一种解决方法,您可以使用时刻($ scope.trip.start)._ d。

所以你的代码就是 $ scope.trip.start = moment($ scope.trip.start)._ d;