desperadik
@desperadik
Истина где-то рядом.

Javascript как отсортировать дату?

В общем имеется таблица HTML, в ней есть колонка с датой.
Для записей в таблице, дату получаю в виде "23 декабря 2010 г." (Стандартно отдает джанго с руслокалью.)

Пытаюсь сделать, сортировку по дате:
function dateSorter(a, b) {
            var c = new Date(a);
            var d = new Date(b);
            return c-d;
        }

Естественно он не может распарсить дату. Если указать приходящий формат даты как "item.date|date:'Y-m-d'", то сортировка работает. это понятно.

Вопрос: Как распарсить дату или может принимать в шаблон в такой форме (Y-m-d) и забить?

п.с. Дату в первоначальном виде хотелось бы оставить.
  • Вопрос задан
  • 10792 просмотра
Пригласить эксперта
Ответы на вопрос 3
rajdee
@rajdee
Front-end developer
Парсить получаемую дату самому через регулярки, либо воспользоваться какой-нибудь библиотекой, например moment.js, что конечно не всегда может быть оправдано
Ответ написан
@alokazay
javascript
1. Вам нужно найти в дате, день, месяц, год. Можно регуляркой, можно банальным substr., для месяцев условие if.
2. Создать два объекта дат new Date(Year, month, date)
3. Привести даты в мс. +date
4. Сравнить. Будет кркроссбаузерный код.
Ответ написан
mrquake
@mrquake
Абырвалг
var c = [new Date(a),new Date(b)];

c.sort(function(a, b) {
           return a-b;  
        });
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы