Убрать метку времени из поля даты в Datatables - PullRequest
0 голосов
/ 15 марта 2012

Я использую плагин Jquery Datatables. Я перешел по ссылке http://www.codeproject.com/Articles/190718/jQuery-DataTables-and-J2EE-web-application-integra

Я передаю дату в объекте JSON плагину datatables. Формат звонка через веб-сервис:

"Сб. 10 января 00:08:00 EST 2009"

, мне нужно убрать время, EST и день, я имею в виду, что это должно выглядеть примерно так

"10 января 2009 г."

и столбец сортируется на стороне сервера. Все, что мне нужно, это удалить данные на лету на стороне клиента. Я все еще нахожусь в процессе изучения плагина datatables, я не уверен в реализации этого. Эксперты, пожалуйста, укажите мне правильное направление.

Ответы [ 2 ]

0 голосов
/ 16 марта 2012

Я не уверен, что вы можете сделать это с bServerSide, установленным на true, но вы можете настроить определения столбцов, используя опцию aoColumns для данных, а затем применить рендеринг столбцов с помощью

fnRender: function (o, val) {
    parse your date here...
    return newDateString;
}
0 голосов
/ 15 марта 2012

[Редактировать] Поскольку похоже, что дата возвращается с сервера в виде строки, то самым простым решением, вероятно, является регулярное выражение. Попробуйте это:

function reformatDate(dateStr) {
  var r = /^\w{3}\s+(\w{3})\s+(\d{1,2})\s+.*?(\d{4})$/
    , m = (''+dateStr).match(r);
  return (m) ? m[1]+' '+m[2]+', '+m[3] : dateStr;
}

[Оригинал] Предполагается, что вы работаете с фактическим Date объектом , и вы не хотите нести накладные расходы из-за правильной библиотеки обработки дат в JavaScript (такой как отлично Datejs ) вы можете отформатировать дату так:

var formatDate = (function() {
  var months = ['Jan', 'Feb', 'Mar', 'Apr', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
  return function(dt) {
    return months[dt.getMonth()] + ' ' + dt.getDate() + ', ' + dt.getFullYear();
  };
})();
formatDate(new Date()); // => "Mar 15, 2012"
...