2017-03-13 11 views
0

Angularが日付/時刻入力から文字列を取得する方法はありますか?現在、私はこの入力を持って、例えば:AngularJS - 日付/時刻の解析モデル

<input class="admin-input" type="time" ng-model="newEvent.endHour"/> 

私はHHとしてモデルの値を表示したい:ミリメートルをしかし、私はその値を印刷するとき、それは完全な日付プラスフルタイムを示しています。とにかく、入力(HH:mm形式)に表示されている文字列をngモデルに取得するにはどうしますか?

ありがとうございます。

+0

[\入力の値をフォーマットする方法[時間\]日に結合した場合()-object]の可能な重複(http://stackoverflow.com/questions/36976716/how-to-format -the-value-of-inputtime-bound-to-date-object) –

+0

それを試してもまだ動作しませんでした。コントローラーでそれを解析しなければならないと思われます。入力に表示されている時間より1日1時間少なく表示されます。 – Xabi

答えて

1

あなたは、角dateフィルタを使用することができ、

<input class="admin-input" type="time" ng-model="newEvent.endHour | date:'HH:mm'"/> 

EDIT あなたは時計を追加し、コントローラ内部でそれをフィルタリングモデルにバインドしたい場合は、

DEMO

var app = angular.module('App', []); 
 
app.controller('myctrl', function($scope,$filter) { 
 
    $scope.endHour = new Date(); 
 
    $scope.$watch('endHour', function(newValue) { 
 
    $scope.endHour = $filter('date')(newValue, 'HH:mm'); 
 
    }); 
 
});
<!DOCTYPE html> 
 
<html ng-app="App"> 
 

 
<head> 
 
    <script data-require="[email protected]*" data-semver="1.2.14" src="//code.angularjs.org/1.2.14/angular.js"></script> 
 
    <link rel="stylesheet" href="style.css" /> 
 
    <script src="script.js"></script> 
 
</head> 
 

 
<div ng-app="App" ng-controller="myctrl"> 
 
    <input type="datetime" ng-model="endHour" class="form-control" /> 
 
</div> 
 
</body> 
 

 
</html>

+0

ngモデルにフィルターを割り当てることはできないようですが、 – Xabi

+0

私はあなたが式 – Sajeetharan

+0

でそれを表示していない限りコントローラでそれを行うことをお勧めします – Sajeetharan

関連する問題