2016-07-27 6 views
1

Ich versuche, eine dateTime von einem C# -Webdienst mit dem Format '2016-01-01T00: 00: 00' in ein Standardformat MM/TT/JJJJ zu formatieren in Eckig. Das fragliche Datum befindet sich in einer Auswahlliste. HierFormatieren von C# dateTime zu einem angularJS-Datum in ng-options

ist die AngularJS:

angular.module('myApp', []) 
    .controller('ctrl', function ($scope) { 
    $scope.options = [{ 
     name: "Date One", 
     date: "2015-01-01T00:00:00" 
    }, { 
     name: "Date Two", 
     date: "2016-01-01T00:00:00" 
    }]; 
}); 

Hier ist die html:

<body ng-app="myApp"> 
    <div ng-controller="ctrl"> 
     <select class="form-control" ng-model="selectedOption" ng-options="option.name + ' ' + option.date | date:'MM/dd/yyyy' for option in options"></select> 
    </div> 
</body> 

Sie diese online einsehen können https://jsfiddle.net/5s706vLq/7/

Antwort

1

Verwenden

option.name + ' ' + (option.date | date:'MM/dd/yyyy') for option in options 

als Ihre ng-Optionen. Die Klammer gruppiert den Parameter mit dem Format.

https://jsfiddle.net/fvo31sd2/

1

Sie müssen nur Klammern für die Datumsfilter in ng-Optionen hinzuzufügen. Siehe unten:

<body ng-app="myApp"> 
    <div ng-controller="ctrl"> 
     <select class="form-control" ng-model="selectedOption" ng-options="option.name + ' ' + (option.date | date:'MM/dd/yyyy') for option in options"></select> 
    </div> 
</body> 
+0

ich nicht war zuerst die Antwort sagen kann, so basiert auf der Idee, dass die in/first dauern, das ist, wie ich denke, s/o Arbeiten, ich upvoted Sie gab aber @J. Steen Kredit für die Antwort. – Ron

+0

@Ron Nicht, dass es wirklich wichtig ist, aber wenn Sie solche Dinge in der Zukunft herausfinden möchten, können Sie entweder die Antworten nach "Ältesten" sortieren (die drei Registerkarten rechts unter Ihrer eigenen Frage) oder Sie können die Maus bewegen über den "geantwortet gestern/letzte Woche/was auch immer" -Text über dem Antworter-Porträt. –