Это как правило делается при помощи parsers/formatters для ng-model.
Делаем директиву:
angular.module('foo').directive('dateTime', function() {
return {
require: '^ngModel',
link: linkFn,
};
function linkFn($element, $scope, $attrs, $ctrl) {
// в $ctrl будет находиться ngModelController
$ctrl.formatters.push(formatValue);
$ctrl.parsers.push(parseValue);
function formatValue(value) {
// здесь делаем форматирование для отображения в DOM
return formatedValue;
}
function parseValue(value) {
// здесь извлекаем из нового значения, которое пришло из DOM значение для ngModel
return parsedValue;
}
}
});
Для работы с датами (форматирования и парсинга) рекомендую использовать
moment.js
Дока по поводу ngModelController тут:
https://docs.angularjs.org/api/ng/type/ngModel.NgM...