2015-08-26 15 views
2

Вот моя Угловой приложениеКак преобразовать эту дату в другой формат

var filterData = angular.module('myApp',[]).controller('CallWebApi', function($scope, $http) { 
    // Local version of the data 
    $http.get('./events.js'). 
     success(function (data) { 
      $scope.data = data.result.items; 
      console.log('success ' + data) 
     }) 
     .error(function(data) { 
      console.log('failure ' + data) 
     }); 
}); 
filterData.filter('removeSpacesThenLowercase', function() { 
     return function (text) { 
      var str = text.replace(/\s+/g, '-'); 
      return str.toLowerCase(); 
     }; 
}) 

дата выглядит в моих данных:

 "{B588A80F-A8C0-4A97-A35A-07D81ED53E9B}": { 
      "Name": "Expiration Date", 
      "Type": "Date", 
      "Value": "20150827T000000" 
     }, 

А вот мой HTML:

<table> 

    <tr> 
     <th>Name</th> 
     <th>Location</th> 
     <th>Date</th> 
    </tr> 
    <tr ng-repeat="item in data"> 
     <td><a href="{{ item.Name | removeSpacesThenLowercase }}">{{ item.Fields["{BB2389F3-555B-4FC6-B106-C0A23A55A15F}"].Value }}</a></td> 
     <td>{{ item.Fields["{123A77C7-07D5-4CAA-85E0-8F9B9CEE110C}"].Value }}</td> 
     <td>{{ item.Fields["{B588A80F-A8C0-4A97-A35A-07D81ED53E9B}"].Value }}</td> 
    </tr> 

</table> 

Как мне конвертировать эту дату:

20150827T000000

В этом формате:

08/27/2015?

ответ

0

Это должно работать:

var d = '20150827T000000'; 
console.log(d.substr(4,2) + '/' + d.substr(6,2) + '/' + d.substr(0,4)); 
// will give you '08/27/2015' 

Я создал демо о том, как вы можете интегрировать это в угловую: http://plnkr.co/edit/KheLKhLHgGYoF0R5CZgf?p=preview

Вы можете создать фильтр:

myModule.filter('formatData', function() { 
    return function (d) { 
     return d.substr(4,2) + '/' + d.substr(6,2) + '/' + d.substr(0,4); 
    }; 
}) 

, а затем использовать его с вашего собственного мнения:

{{test["{B588A80F-A8C0-4A97-A35A-07D81ED53E9B}"].Value|formatData}} 

и вилка, которая форматирует данные: http://plnkr.co/edit/EReUj4GkhGF36SS6RaX4?p=preview

+0

У вас есть какие-либо конкретные советы о том, как интегрировать это в мой код? Я экстремальный новичок, и мне сложно интерпретироваться. – qwertyking

+0

Вы могли бы создать плункер? поэтому я могу добавить изменения – biancamihai

+0

Я обновил свой ответ, надеюсь, что это поможет – biancamihai

0

вы могли бы попробовать DateX в удлинительном на встроенном Date объекта (пс авторе)

пример:

var date = new DateX(); 
var formatted = date.format('Y-m-d H:i:s'); 
var parsed = DateX.parse(formatted, 'Y-m-d H:i:s'); 
console.log(formatted); 
console.log(parsed.format('Y-m-d H:i:s')); 

для примера можно разобрать он (и одновременно действует) в фактическую дату

var date = DateX.parse("20150827T000000", 'YmdHis'); 
Смежные вопросы