Как преобразовать строку в новую дату

0

Я использую angularjs, из back-end я получаю информацию о дате как строку, подобную этой

/Date(1262293800000+0300)/

Как можно преобразовать эти данные в удобочитаемую дату, например, например: 04 March 2015?

вот моя функция:

    $scope.conractorInfo = function ( contractor ) {

                $location.search('id', contractor.Id);

                server.contractor.get({id:$routeParams.id, contid:contractor.Id}).$promise.then(function (data) {

                    $scope.contractor = data;

                    console.log(typeof $scope.contractor.WeekDate);
//consoles as : '/Date(1262293800000+0300)/'

                });

            }
  • 0
    Ответишь ли ты на контроль.
  • 0
    если да, примите / проголосуйте
Теги:

2 ответа

1
Лучший ответ

Вы знаете формат с угловым фильтром? доктор

Пример: jsfiddle

Файл Html

<div ng-controller="TestCtrl">
    <span>{{date[0] | date:'mediumDate'}}</span>
</div>

Файл Js

angular.module('myApp', []);

function TestCtrl($scope) {
   var regex = /\d+/g;
   var string = "/Date(1262293800000+0300)/";
   $scope.date = string.match(regex);


}
  • 0
    Я обновляюсь так: <span>{{contractor.WeekDate | date:'medium'}}</span> но результат в браузере - /Date(1262293800000+0300)/ - вот так.
  • 0
    Ой, я понял это сейчас. :)
Показать ещё 3 комментария
-1

Даже если AngularJs предлагает функцию фильтра для даты, это не может фильтровать дату JSON, стоя на документации:

Дата для форматирования как объекта Date, миллисекунды (строка или номер) или различные форматы строк даты и времени ISO 8601 (например, yyyy-MM-ddTHH: mm: ss.sssZ и его более короткие версии, такие как yyyy-MM-ddTHH: mmZ, yyyy-MM -dd или yyyyMMddTHHmmssZ)

Вы должны преобразовать его в дату, а затем использовать фильтр или, если хотите создать собственный фильтр, подобный этому (не проверенный мной, просто идея).

В противном случае я бы предложил использовать библиотеку, например, moment.js:

moment("/Date(1262293800000+0300)/") // 

Библиотека также предлагает некоторые параметры форматирования для отображения данных по вашему желанию.

Вы должны использовать дату жалобы ISO8601, это старый формат, если вы находитесь в среде.NET, посмотрите на библиотеку сериализации JSON.net.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню