我构建Android应用程序,并在我的应用程序中有一些输入类型日期的搜索功能。我尝试使用从2017-5-10T17:00:00.000Z
到2017-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>
请帮我解决这个问题
感谢
答案 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;