Angular Custom Date Filter
/**
* Description:
* removes white space from text. useful for html values that cannot have spaces
* Usage:
* <span>{{ theDate | date:'MMMM dd' }}{{ theDate | dateSuffix }}</span>
*/
const customdate = ($filter) => {
var suffixes = ["th", "st", "nd", "rd"];
return function(input) {
var dtfilter = $filter('date')(input, 'MMMM d');
let year = $filter('date')(input,'yyyy');
var day = parseInt(dtfilter.slice(-2));
var relevantDigits = (day < 30) ? day % 20 : day % 30;
var suffix = (relevantDigits <= 3) ? suffixes[relevantDigits] : suffixes[0];
return dtfilter+suffix+', '+year;
};
};
customdate.$inject = ['$filter'];
angular.module('iko')
.filter('customdate', customdate);
p(ng-bind="fulldate | customdate:'MMMM d yyyy' ")
//Results: February 26th, 2016
//Results: March 3rd, 2016