Как изменить формат значения модели Angular UI Datepicker в угловую форму?
Вот формат по умолчанию UI Datepicker угловой формы
{
"date": "2015-10-05T18:30:00.000Z"
}
Как изменить вышеуказанный формат на
{
"date": "2015/10/05"
}
1 ответ
Обычно в модели вы сохраняете дату в формате ISO, как у вас уже есть, и форматируете ее в виде по своему усмотрению, используя date
фильтр ( документация):
<div>{{vm.model.date | date: 'yyyy/MM/dd'}}</div>
Если вы все равно хотите изменить формат в модели, введите $filter
и использовать date
Фильтруйте как следующее:
$filter('date')(date_value, format, timezone)
например:
$filter('date')(vm.model.date, 'yyyy/MM/dd');
В качестве альтернативы, если вы много манипулируете датами, может пригодиться библиотека, такая как moment.js.
Изменить: заметил, что вы хотите изменить значение модели даты в конкретном контексте angular-formly с компонентом DatePicker. Компоненту необходимо, чтобы значение модели даты было в стандартном формате, но вы можете иметь другое свойство с соответствующей отформатированной датой, которое вы установили бы при изменении ввода даты:
HTML (на указателе даты input
):
ng-change="vm.setFormattedDate(dt)"
контроллер:
vm.setFormattedDate = function (datetime) {
vm.model.formattedDate = $filter('date')(datetime, 'yyyy/MM/dd');
}