Сохраните дату и отобразите ее в хорошем формате - PullRequest
0 голосов
/ 19 июня 2020

Я программирую приложение crud с датой создания. когда я добавляю новый объект, дата сохраняется в базе данных в хорошем формате:

База данных

Теперь, когда дата отображается в таблице, она показывает мне нравится это:

введите здесь описание изображения

Я нашел решение, чтобы показать его как хороший формат с помощью {{Re c .Date.slice (6 , -2) | date: 'dd / MM'}}

Проблема в том, что когда я пытался добавить datepicker для поиска с переменной даты, поиск ничего не соответствует, даже если я даю ему дату, уже существующую на базе. Я почти уверен, что проблема связана с форматом даты, но я не нахожу никакого решения для его форматирования, когда будет выполнено сохранение нового восстановления.

reclamations-by-date-controller. js:

(function () {
'user strict';

angular

    .module('app')

    .controller('ReclamationsByDateController', ['$scope', 'ReclamationsByDateService', function 
    ($scope, ReclamationsByDateService) {

        // Call GetAllReclamations function to init the table
        GetAllReclamations();

        // Get reclamation list function
        function GetAllReclamations() {
            var getRecData = ReclamationsByDateService.getReclamations();
            getRecData.then(function (reclamation) {
                $scope.reclamations = reclamation.data;
            }, function () {
                alert('Error in getting reclamations records');
            });
        }

        $scope.changeSelect = function (dt) {
            $scope.changeDate = moment(dt).format("DD/MM/YYYY");
        }

        $scope.today = function () {
            $scope.dt = new Date();
        };
        $scope.today();

        $scope.clear = function () {
            $scope.dt = null;
        };

        $scope.open = function ($event) {
            $event.preventDefault();
            $event.stopPropagation();

            $scope.opened = true;
        };

        $scope.dateOptions = {
            formatYear: 'yyyy',
            startingDay: 1
        };

        $scope.formats = ['dd/MM/yyyy', 'yyyy/MM/dd', 'dd.MM.yyyy', 'shortDate'];
        $scope.format = $scope.formats[0];

    }])

    .service('ReclamationsByDateService', ['$http', function ($http) {

        // Get Reclamations
        this.getReclamations = function () {
            return $http.get("/Reclamations/ReclamationsList");
        };

    }]);

})();

ReclamationsByDate.cs html:

<code><div ng-controller="ReclamationsByDateController">

<pre>Please select a date: <em>{{dt | date:'fullDate' }}</em>

DatePicker

Поиск
{{changeDate}}
Идентификатор Дата Заголовок Статус Ответственный Комментарий {{Re c .RecId}} {{Re c .Date}} {{Re c .Title}} {{Re c .Status}} {{Re c .Responsible}} {{Re c .Comment}}

Ответы [ 3 ]

0 голосов
/ 19 июня 2020

вы можете попробовать это

<span>{{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}</span><br>
0 голосов
/ 19 июня 2020

Вы можете использовать customFilter для форматирования любых дат. Здесь я использую библиотеку momentjs.

(function () {
    'use strict';
    angular
        .module('app.core') // use your module name here
        .filter('humanizeFilter', ['moment', function (moment) {
            return function (input) {
                return moment(input).format('MMM D, YYYY, HH:mm');
            };
        }
    ]
    );
})();

Затем в своем шаблоне вы можете использовать, как показано ниже:

<span>{{1592585639000 | humanizeFilter}}</span><br>

Надеюсь, это поможет !!

0 голосов
/ 19 июня 2020

Проблема с вашим фильтром

ng-repeat="Rec in reclamations | filter: {Date:changeDate}"

Вам нужно перейти к Angular filter объекту Date, но changeDate нет (поскольку вы устанавливаете его в настраиваемую строку в своем обработчике datepicker ). Вот почему поиск не работает.

Измените обработчик следующим образом:

   $scope.changeSelect = function (dt) {
        $scope.changeDate = dt;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...