2017-02-23 2 views
0

は私がdiv要素を持っているとしましょうdivの中に日付(ない日付OBJ)を変更し、このように見えるオブジェクトを受信して​​いるangularjs

<div class="date-display">{{date.displayModofiedDate}}</div> 

SUNDAY 25またはTUESDAY 12が、それは日付オブジェクトではありません。平日の長さを3文字にするにはどうすればいいですか?私は、文字列の末尾に数字をenedので、それは、どちらかの日付オブジェクト、およびlimitTo文句を言わない仕事はないので、それは私ができる

MON 25様または WED 02ない | date: 'EEE dd'に見えるように。

+0

を返すために、このようなカスタムフィルタを作成することができますが、正規表現のためのケースのように思えます。 – Claies

+2

[または部分文字列](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring) – alphapilgrim

+2

split()文字列をスペースで区切り、substring()最初の値と配列をjoin()します。 – Gilsdav

答えて

1

文字列は、常にその形式に来るならば、あなたは文字列

.filter('dateTime',function($filter){ 
    return function(obj){ 
    var arr = obj.split(" ") 
    return arr[0].substring(0, 3) +" "+ arr[1]; 
    } 
}) 

angular.module("app",[]) 
 
.controller("ctrl",function($scope){ 
 
\t $scope.name = ["SUNDAY 12","TUESDAY 10","MONDAY 12"]; 
 
}) 
 
.filter('dateTime',function($filter){ 
 
    return function(obj){ 
 
    var arr = obj.split(" ") 
 
    return arr[0].substring(0, 3) +" "+ arr[1]; 
 
    } 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"> 
 
    <div ng-repeat="item in name" > {{item | dateTime}} 
 

 
    </div> 
 
</div>