AngularJS DateFilter

{{ date_expression | date : format : timezone}}
$filter('date')(date, format, timezone)

Форматируемая строка будет собрана из этих элементов:

  • yyyy: Четырёхзначное представление года
  • yy: Двухзначное представление года
  • y: Год, без нулей в начале
  • MMMM: Месяц года текстом (January-December)
  • MMM: Месяц года сокращённым текстом (Jan-Dec)
  • MM: Месяц года цифрой, с 0 в начале (01-12)
  • M: Месяц года цифрой (1-12)
  • LLLL: Stand-alone month in year (January-December)
  • dd: День месяца цифрой с 0 в начале (01-31)
  • d: День месяца цифрой (1-31)
  • EEEE: День недели полным текстом (Sunday-Saturday)
  • EEE: День недели сокращённым текстом (Sun-Sat)
  • HH: Час, с 0 в начале (00-23)
  • H: Час (0-23)
  • hh: Час в 12ти часовой репрезентации с нулём в начале (01-12)
  • h: Час в 12ти часовой репрезентации (1-12)
  • mm: Минута с 0 в начале (00-59)
  • m: Минута (0-59)
  • ss: Секунда с нулём в начале (00-59)
  • s: Секунда (0-59)
  • sss: Миллисекунда 3мя знаками (000-999)
  • a: Маркер до полудня/после полудня AM/PM
  • Z: 4 знака (+знак) определяет свиг временной зоны (-1200-+1200)
  • ww: Неделя года, с нулём в начале (00-53). Неделя 01 – это неделя с первым четвергом года.
  • w: Неделя года (0-53). Неделя 1 – это неделя с первым четвергом года.
  • G, GG, GGG: Аббревиатура эры (e.g. 'AD')
  • GGGG: Длинная строка эры (e.g. 'Anno Domini')

Строка формата также может быть одним из следующих предопределенных локализуемых форматов:

  • medium: эквивалентно MMM d, y h:mm:ss a для en_US локали (e.g. Sep 3, 2010 12:05:08 PM)
  • short: эквивалентно M/d/yy h:mm a для en_US локали (e.g. 9/3/10 12:05 PM)
  • fullDate: эквивалентно EEEE, MMMM d, y для en_US локали (e.g. Friday, September 3, 2010)
  • longDate: эквивалентно MMMM d, y для en_US локали (e.g. September 3, 2010)
  • mediumDate: эквивалентно MMM d, y для en_US локали (e.g. Sep 3, 2010)
  • shortDate: эквивалентно M/d/yy для en_US локали (e.g. 9/3/10)
  • mediumTime: эквивалентно h:mm:ss a для en_US локали (e.g. 12:05:08 PM)
  • shortTime: эквивалентно h:mm a для en_US локали (e.g. 12:05 PM)

Строка формата может содержать литеральные значения. Их необходимо экранировать, заключив в одинарные кавычки (например, «h 'in the morning'»). Чтобы вывести одинарную кавычку, экранируйте её, то есть две одинарные кавычки подряд (например, «h 'o''clock'»).

Любые другие символы в строке формата будут выведены как есть.

Пример использования:

index.html
<div ng-controller="Controller">
  Date format: <input ng-model="format"> <hr/>
  Current time is: <span my-current-time="format"></span>
</div>
script.js
 
angular.module('docsTimeDirective', [])
.controller('Controller', ['$scope', function($scope) {
  $scope.format = 'M/d/yy h:mm:ss a';
}])
.directive('myCurrentTime', ['$interval', 'dateFilter', function($interval, dateFilter) {
 
  function link(scope, element, attrs) {
    var format,
        timeoutId;
 
    function updateTime() {
      element.text(dateFilter(new Date(), format));
    }
 
    scope.$watch(attrs.myCurrentTime, function(value) {
      format = value;
      updateTime();
    });
 
    element.on('$destroy', function() {
      $interval.cancel(timeoutId);
    });
 
    // start the UI update process; save the timeoutId for canceling
    timeoutId = $interval(function() {
      updateTime(); // update DOM
    }, 1000);
  }
 
  return {
    link: link
  };
}]);
  • works/programmer/js/angularjs-date-filter.txt
  • Последнее изменение: 2025/07/11 00:15
  • Eugene