2017-02-17 43 views
0

我有一個角度js應用程序,它使用spring-boot構建的服務器發送和接收對象。該對象使用Java8 LocalDateTime字段無法填充角度的日期和時間細節

用於發送和接收日期和時間信息的角度js部分如下所示。

<div class="form-group"> 
     <label class="control-label" for="field_dtValidFrom">Dt Valid From</label> 
      <div class="input-group"> 
       <input id="field_dtValidFrom" type="datetime" class="form-control" name="dtValidFrom" uib-datepicker-popup="{{'yyyy-MM-dd HH:mm'}}" ng-model="vm.package.dtValidFrom" is-open="vm.datePickerOpenStatus.dtValidFrom" 
       /> 
       <span class="input-group-btn"> 
        <button type="button" class="btn btn-default" ng-click="vm.openCalendar('dtValidFrom')"><i class="glyphicon glyphicon-calendar"></i></button> 
       </span> 
      </div> 
     <uib-timepicker ng-model="vm.package.dtValidFrom" hour-step="1" minute-step="30" show-meridian="true"></uib-timepicker> 
    </div> 

發送時的日期,我使用的角度服務將其轉換爲所需的格式

function convertLocalDateToServer (date) { 
     if (date) { 
      return $filter('date')(date, 'yyyy-MM-dd HH:mm'); 
     } else { 
      return null; 
     } 
    } 

日期越來越成功保存與這兩個日期和時間信息的數據庫。

但是,從服務器獲取對象並在UI中顯示相同的問題。那個時間日期和時間字段都是空的。看來我無法將來自服務器的日期時間對象轉換爲可以通過angularjs顯示的適當格式。

是從服務器時包詳細信息被獲取下面給出未來的JSON

{ 
    id: 1, 
    dateOfBuying: "2017-02-17 12:08", 
    isValid: true, 
    dtValidFrom: "2017-02-17 00:00", 
    dtValidTo: "2017-04-30 00:00", 
    packageName: "Package 1", 
    packageId: 1, 
    personId: 1, 
    valid: true 
} 

但angularjs日期和時間字段沒有得到填充

+0

嘗試將它傳遞給新的日期對象。示例vm.dtValidTo = new Date(vm.dtValidTo); –

回答

0

從服務器獲取數據後,您需要使用new Date()

試試這個

將其轉換
vm.package = { 
    id: 1, 
    dateOfBuying: "2017-02-17 12:08", 
    isValid: true, 
    dtValidFrom: "2017-02-17 00:00", 
    dtValidTo: "2017-04-30 00:00", 
    packageName: "Package 1", 
    packageId: 1, 
    personId: 1, 
    valid: true 
} 
//now change it 
vm.package.dtValidFrom = new Date(vm.package.dtValidFrom); 
vm.package.dtValidTo = new Date(vm.package.dtValidTo); 
相關問題