2017-02-22 42 views
0

下面的代碼包含開始日期和結束日期,當我保存日期 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

您需要在NG-模型通過dateobject,而不是一個簡單的日期字符串的

在你的控制器,你可以做這樣的事情

$scope.vm.batch.sdate=new Date(your date string here); 

Here is working example

0

您需要使用new Date()將其轉換爲日期對象。

試試這個

vm.batch.sdate = new Date(vm.batch.sdate); 
vm.batch.edate = new Date(vm.batch.edate); 
0

原因是輸入型日期要求的日期對象和你的NG-模型包含ISO日期字符串值,這就是爲什麼它沒有顯示在輸入框中輸入日期。

請ISO日期字符串轉換爲日期對象

vm.batch.sdate = new Date(vm.batch.sdate); 
vm.batch.edate = new Date(vm.batch.edate); 
+0

這是工作,但它跳過1天也就是說,如果我的日期爲22-2-2017如果我點擊編輯,它會顯示23-2-2017 – kishore

+0

試試這個將ISO轉換爲日期=新日期('2013-03-10T02:00:00Z'); ()+' - '+(date.getMonth()+ 1)+' - '+ date.getDate() –