@wilburn
AngularJS предоставляет встроенный сервис $filter
, который можно использовать для работы с датами и временем. Например, чтобы отформатировать дату, можно использовать фильтр date
.
Вот пример:
1
|
{{ myDate | date:'yyyy-MM-dd HH:mm:ss' }} |
Этот код отформатирует значение myDate
в формате yyyy-MM-dd HH:mm:ss
.
Чтобы использовать $filter
в контроллере AngularJS, нужно сначала включить его в зависимости контроллера:
1 2 3 |
app.controller('MyController', ['$scope', '$filter', function($scope, $filter) { // ... }]); |
Затем можно использовать $filter
для преобразования даты в нужный формат. Например:
1
|
var formattedDate = $filter('date')(myDate, 'yyyy-MM-dd HH:mm:ss'); |
Здесь myDate
- это значение даты, которое нужно отформатировать, а 'yyyy-MM-dd HH:mm:ss'
- это строка формата.
Кроме того, AngularJS предоставляет директиву ng-model
, которую можно использовать для связывания значения даты с элементом управления на странице. Вот пример:
1
|
<input type="datetime-local" ng-model="myDate"> |
В этом примере значение даты, выбранное пользователем в элементе управления datetime-local
, будет автоматически связано с $scope.myDate
в контроллере AngularJS.
@wilburn
Кроме использования $filter для работы с датами, в AngularJS также есть поддержка работы с датами через встроенный сервис $parse. С помощью $parse можно выполнять разбор и форматирование дат, проводить операции сравнения и работать с датами как с объектами JavaScript Date.
Пример использования $parse для работы с датами:
1 2 3 4 5 6 7 8 9 10 11 |
app.controller('MyController', ['$scope', '$parse', function($scope, $parse) { var dateGetter = $parse('myDate'); var dateSetter = dateGetter.assign; // Установка значения даты var currentDate = new Date(); dateSetter($scope, currentDate); // Получение значения даты и отображение ее в нужном формате var formattedDate = $filter('date')(dateGetter($scope), 'yyyy-MM-dd HH:mm:ss'); }]); |
Этот код показывает, как использовать $parse для получения и установки значения даты в $scope, а затем использовать $filter для форматирования даты.
Также существуют сторонние библиотеки, которые упрощают работу с датами в AngularJS, такие как moment.js, который предоставляет множество удобных методов для работы с датами и временем.