以下代码包含开始日期和结束日期,当我保存日期时 mongodb是在ISODate(ISODate(" 2013-02-01T18:30:00.000 + 0000")) 格式,但当我尝试编辑日期将不会出现在输入但是当我 尝试显示ng.model它将包含格式的日期 2012-02-01T18:30:00.000Z 盒子是什么原因??
<div class="form-group" show-errors>
<label class="control-label" for="sdate">Start Date</label>
<input name="sdate" type="date" ng-model="vm.batch.sdate" id="sdate" class="form-control input-sm" placeholder="Start Date" required>
{{vm.batch.sdate}}
<div ng-messages="vm.form.batchForm.sdate.$error" role="alert">
<p class="help-block error-text" ng-message="required">Start Date is required.</p>
</div>
</div>
<div class="form-group" show-errors>
<label class="control-label" for="edate">End Date</label>
<input name="edate" type="date" ng-model="vm.batch.edate" id="edate" class="form-control input-sm" placeholder="End Date" required>
{{vm.batch.edate}}
<div ng-messages="vm.form.batchForm.edate.$error" role="alert">
<p class="help-block error-text" ng-message="required">End Date is required.</p>
</div>
</div>
答案 0 :(得分:0)
您需要在ng-model中传递dateobject而不是简单的日期字符串
在您的控制器中,您可以执行类似
的操作$scope.vm.batch.sdate=new Date(your date string here);
答案 1 :(得分:0)
您需要使用new Date()
将其转换为日期对象。
试试这个
vm.batch.sdate = new Date(vm.batch.sdate);
vm.batch.edate = new Date(vm.batch.edate);
答案 2 :(得分:0)
原因是输入类型日期需要日期对象,而您的ng-model包含ISO日期字符串值,这就是为什么它不在输入框中显示日期。
请将ISO日期字符串转换为日期对象
ticket_cc_users