2017-02-17 6 views
0

私はspring-bootを使用して構築されたサーバーからオブジェクトを送受信する角度jsアプリケーションを持っています。オブジェクトはJava8のLocalDateTimeフィールドを使用します角度で日付と時刻の詳細を設定できません

日時情報を送受信するための角のjs部分は次のようになります。日付を送っている間、私は

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

日付が正常に両方の日付と時刻の情報でデータベースに保存されます必要な形式に変換する角度サービスを使用しています

<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> 

しかし、サーバーからオブジェクトを取得してUIに表示するときに問題が発生します。その時、日付と時刻の両方のフィールドは空です。それは、サーバーから来るdatetimeオブジェクトをanglejsで表示できる適切な形式に変換できないようです。

パッケージの詳細がフェッチされたときに、サーバーから来ている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 =新しい日付(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); 
関連する問題