¿Cómo puedo cambiar el formato de la fecha moment.js? Utilizo el formato local ('LLL') en las tablas de datos columnDefs render y trato de filtrar la columna de fecha con entradas de filtro externas. Cuando formateo el valor de entrada con 'LLL', los operadores lógicos no funcionan correctamente. Entonces, tal vez si convierto los datos de la columna, funcionará. Estos son mis códigos:
"render": function (data) { var locale = lang; return (moment(data).isValid()) ? moment(data).locale(locale).format("LLL") : "-";y el filtrado es:
$.fn.dataTableExt.afnFiltering.push( function (oSettings, aData, iDataIndex) { var filterstart = $('#start').val(); var filterend = $('#end').val(); var datecolumn = 5; var tabledatestart = aData[datecolumn]; var tabledateend = aData[datecolumn]; var locale = lang; filterstart = (moment(filterstart).isValid()) ? moment(filterstart).locale(locale).format('LLL') : ""; filterend = (moment(filterend).isValid()) ? moment(filterend).locale(locale).format('LLL') : ""; if (filterstart === "" && filterend === "") { return true; } else if ((filterstart==tabledatestart || filterstart<tabledatestart) && filterend === "") { return true; } else if ((filterstart==tabledatestart || filterstart>tabledatestart) && filterstart === "") { return true; } else if ((filterstart==tabledatestart || filterstart<tabledatestart) && (filterend==tabledateend || filterend>tabledateend)) { return true; } return false; } );Asegúrese de usar el momento con las configuraciones regionales y establezca la configuración regional antes de analizar la fecha.
moment.locale('tr_TR'); console.log( moment('6 Ocak 2022 12:45', 'LLL').format('YYYY-MM-DD') ); <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment-with-locales.min.js"></script> Estoy bastante seguro de que la configuración regional debe configurarse primero antes de analizar , ya que lo siguiente devuelve 'Invalid Date' :
console.log( moment('6 Ocak 2022 12:45', 'LLL').locale('tr_TR').format('YYYY-MM-DD') ); <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment-with-locales.min.js"></script>