Как изменить формат даты в DataTable с помощью JavaScript

Изменение формата даты в столбце DataTable

Я только начинаю изучать JavaScript и столкнулся с проблемой отображения дат в таблице. Получаю данные через AJAX запрос, но формат даты приходит не в том виде, который мне нужен.

Вот мой код:

$('#dataTable').DataTable({
    "ajax": {
        "url": "/transactions/fetch",
        "data": {"selectedDate":[[${selectedDate}]]},
        "dataSrc": ""
    },
    "columns": [
        { "data": "transactionId" },
        { "data": "accountId" },
        { "data": "operationDate"} // формат: 120823
    ],
});

Сейчас дата приходит в формате ддммгг (например, 120823), но мне нужно отобразить её как гггг-мм-дд (2023-08-12). Как правильно преобразовать формат даты в столбце таблицы? Нужно ли использовать render функцию или есть другой способ?

Можно еще через columnDefs, если у тебя несколько колонок с датами. У меня так было:

"columnDefs": [{
    "targets": [2], // номер колонки operationDate
    "render": function(data) {
        if (!data || data.length !== 6) return data;
        return `20${data.slice(4)}-${data.slice(2,4)}-${data.slice(0,2)}`;
    }
}]

Удобнее когда много колонок с одинаковым форматированием.

да, нужна render функция для столбца с датой. я недавно такое делал. добавь render в колонку operationDate и парси строку там:

{ 
  "data": "operationDate",
  "render": function(data) {
    let day = data.substring(0,2);
    let month = data.substring(2,4);
    let year = "20" + data.substring(4,6);
    return year + "-" + month + "-" + day;
  }
}

только проверь что data не пустая, иначе ошибка вылетит

А если данных много, может на бэкенде сразу формат поправить? У меня было похожее - куча строк в таблице, рендер функции тормозили загрузку. Или хотя бы moment.js подключи для дат, надежнее чем substring руками делать.