Подтвердить что ты не робот

Дата форматирования angularjs ui-grid

Я пытаюсь изменить способ отображения даты. данные поступают как строка с форматом "Sun May 03 18:04:41 2009"

Я просмотрел примеры, и они просили меня использовать

$scope.gridOptions = {
  data: 'mydata',
  enableRowSelection: true,
  multiSelect: false,
  enableColumnResize: true,
  columnDefs: [
    { field: 'startDate', displayName: 'Date', cellFilter: 'date:\'yyyy-MM-dd\'' }]
};

однако это не работает для меня. Данные все еще отображаются так, как есть. Вместо "2009-05-13" Все, что я делаю неправильно? Спасибо заранее!

4b9b3361

Ответ 1

Похоже, вы пытаетесь использовать несовместимый формат даты с фильтром даты Angular. Документы говорят, что это должен быть объект Date, миллисекунды или дата ISO 8601. Поскольку ваша строка даты не соответствует ни одному из них, вам нужно будет либо перевернуть свой собственный форматировщик строк, либо преобразовать это значение в объект Date или миллисекунды, прежде чем передавать его в фильтр даты.

Ответ 2

Использование: type: 'date',      cellFilter: 'date: \' MM/dd/yyyy\''

$scope.gridOptions = {
data: 'mydata',
enableRowSelection: true,
multiSelect: false,
enableColumnResize: true,
columnDefs: [
{ field: 'startDate', displayName: 'Date',type: 'date', cellFilter: 'date:\'yyyy-MM-dd\'' }]};

Ответ 3

Используйте cellFilter: 'date:"longDate"'

columnDefs: [
         { name: "ID", displayName: "ID"},
         { name: "Date", displayName: "Date", cellFilter: 'date:"longDate"'},