Сортировка даты форматирования в DataTable Angular - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть API, и я получаю его, используя HTTP GET Я передаю свою информацию с моей моделью Оповещение , которое содержит Date тип отметка времени , если я запускаю DataTable с Тип даты Я могу отсортировать столбец, но проблема здесь в том, что формат я получаю в следующем формате

Пн. Сент. 03 2018 01:56:36 GMT-0700 (Тихоокеанское летнее время (Мексика))

Когда я пытаюсь получить форматированную дату, такую ​​как 09/03/2018 01:56:36 Если я запускаю таблицу данных с этим форматом, сортировка не работает, потому что она сортируется как Строка , а не как Дата

У меня вопрос: как я могу иметь тип даты, форматированный как MM/DD/YYYY hh:mm:ss ??

Примечание: я использую ng2-smart-table как Datable

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

согласно документации

Вы можете объявить функцию предварительного рендеринга valuePrepareFunction для любого поля. Таким образом, вы можете импортировать DatePipe напрямую:

import { DatePipe } from '@angular/common';

и возврат new DatePipe('en-US').transform(date, 'your-format-here'); внутри valuePrepareFunction декларации

0 голосов
/ 04 сентября 2018

Не форматировать дату. Пусть это будет как отметка времени и используйте valuePrepareFunction для преобразования отметки времени в вашу отформатированную дату.

Если это уже то, что вы делаете, я вижу, что сортировка использует подготовленное значение, а не исходное.

В этом случае используйте compareFunction, чтобы снова преобразовать дату в метку времени при сортировке.

https://akveo.github.io/ng2-smart-table/#/documentation

...