Дата Время Формат AngularJs - PullRequest
0 голосов
/ 20 января 2020

У меня есть строковый вывод «30/12/2019 12:00:00 AM», то есть «ДД / ММ / ГГГГ ЧЧ: ММ: СС AM». Мне нужен форматер для отображения даты "30/12/2019 12:00:00 AM" как De c 30 2019. Может ли кто-нибудь помочь мне в этом. Спасибо.

1 Ответ

2 голосов
/ 20 января 2020

Строка даты, которую вы хотите отформатировать, должна представлять собой либо объект Date, миллисекунды (строка или число), либо различные форматы даты-времени ISO 8601.

Нельзя создать дату в формате DD/MM/YYYY HH:MM:SS AM с использованием Date объект в JavaScript.

Вот простой обходной путь, который преобразует строку даты в действительный объект даты, а затем форматирует дату в указанном формате, используя AngularJS date фильтр .

const app = angular.module('myApp', []);

app.controller('myController', ['$scope', function($scope){         
    const convertDate = date => {
        const parts = date.split('/'),
              day = parts[0],
              month = parts[1],
              year = parts[2].split(' ')[0];
              
        return new Date(`${year}-${month}-${day}`);
    };
    
    $scope.dt = convertDate('30/12/2019 12:00:00 AM');
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.9/angular.min.js"></script>

<div ng-app="myApp" ng-controller="myController">
    {{ dt | date: 'mediumDate' }}
</div>
...